زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت آخرین مقالات مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم

این انتشارات مورد توجه شرکت های کوچک توسعه وب سایت با با استفاده از CMS... یک پیش زمینه کوچک: ما یک بخش کوچک هستیم که وب سایت ها را توسعه می دهیم. برای مدت زمان بسیار طولانی ، ما سایتهایی را فقط بر روی سیستم های مدیریتی (OpenCart ، WordPress ، MODX و خود نوشتاری) ایجاد کردیم که در اصل آنها ساده و از نوع مشابه بودند ، اما از تابستان گذشته گرایش به توسعه سایت هایی رسیده است که فقط چهره این شرکت در اینترنت نبود ، بلکه یکی از ابزارهای تجاری

به عنوان مثال ، برای یک شرکت حمل و نقل سفارش داده شد که مسیرهای مسیری را اداره کند و دوست دارد کلیه مدیریت (رزرو و پرداخت بلیط از جمله از طریق صندوق دار) از طریق وب سایت انجام شود.

همانطور که ممکن است حدس بزنید ، نباید انتظار CF سود زیادی از CMS در اینجا داشته باشید. در مقابل ، هر الگوریتمی که او دنبال کرد ، در راه ما قرار گرفت. چند روز بعد ، در همان اولین سایت ، فقط عصا وجود داشته و تقریباً تمام پردازش ها به طور انحصاری در جاوا اسکریپت انجام شده است و از CMS به عنوان واسطه ای برای ضبط و بازیابی از پایگاه داده استفاده شده است.

ما نتوانستیم این را برای مدت طولانی تحمل کنیم و پس از مشاوره تصمیم گرفتیم که برای اجرای چنین پروژه هایی از طرح مشروح استفاده کنیم - و بلافاصله چشم خود را به اسلیم کشیدیم.

همانطور که وب سایت رسمی می گوید:

Slim یک چارچوب میکرو است که به شما کمک می کند تا به سرعت برنامه های وب در عین حال قدرتمند بنویسید.

و واقعاً این است که ، می توانید آن را به صورت دستی با بایگانی بارگیری کنید یا از Composer استفاده کنید. پس از آن ، index.php را با محتوای زیر ایجاد کنید:

// اتصال چارچوب نیاز به "Slim / Slim.php"؛ // ثبت نام autoloader \\ باریک \\ باریک :: RegisterAutoloader ()؛ $ app \u003d new \\ لاغر \\ باریک ()؛ $ app-\u003e get ("/ سلام /: name" ، عملکرد (نام $) (تکرار "سلام $ name" ؛))؛ $ app-\u003e run ()؛
این یک برنامه ساده است که هنگام حرکت به یک آدرس اینترنتی ، سلام ((نام کاربری)) را چاپ می کند.
اما ما چقدر ناامید شدیم که اینجاست که بیشتر مقالات در اینترنت پایان می یابد و در این مرحله چیزهای زیادی برای ما غیرقابل فهم باقی می ماند.

خود Slim یک سیستم توزیع روشنی برای پرونده های روی دیسک مشخص نمی کند ، بنابراین ما راهی بهتر از مشاهده هر مسیری پیدا نکرده ایم. روز بعد ، با درک اینکه چیزی در جریان نیست ، تصمیم به ایجاد گرفت پوشه جداگانه و پرونده ها را در گروه قرار دهید. موارد زیر به پرونده index.php اضافه شده است

Foreach (glob ("مسیرها / *. php") به عنوان پرونده $) شامل (پرونده $) است.
با گذشت زمان ، هر پرونده ای بیش از حد بزرگ شد ، اما پس از جستجوی اسناد رسمی ، هیچ چیزی پیدا نشد. راه حل در گیتوب یافت شد ، جایی که گفته شد چه کاری باید انجام شود:

$ app-\u003e get ("post /: type /: id"، "\\ Controller \\ Post: onePost")؛
جایی که \\ Controller \\ Post کلاس است که می فهمم مطابق RSP-0 اضافه شده است. و OnePost روش اوست.
بنابراین ، ساختار پرونده ما با یک فهرست کننده Controller دیگر به روز شد ، که در آن ما اقداماتی را ثبت کردیم که می توانند در چندین گزینه مسیریابی به طور همزمان استفاده شوند. من فکر می کنم مثال خوب این مسیریابی که به صورت گروهی محصور شده است ، سبکی که به دلایلی در همان مستندات توضیح داده نشده است.

$ app-\u003e گروه ("/" ، عملکرد () استفاده ($ app) ($ app-\u003e get ("post /: type /: id" ، "\\ Controller \\ Post: onePost") -\u003e شرایط (آرایه ( "type" \u003d\u003e "(3،)"، "id" \u003d\u003e "(1،)")) -\u003e setParams (آرایه ("برنامه" \u003d\u003e $ برنامه ، "نوع" \u003d\u003e $ نوع \u003d NULL ، " id "\u003d\u003e $ id \u003d 0)) -\u003e name (" onePost ")؛))؛
جایی که شرایط اعتبار سنجی توسط عبارت منظم، setParams - عبور پارامترها به روش onePost ، و نام برای تغییر مسیر احتمالی به نام است این صفحه (به عنوان مثال $ app-\u003e redirectTo ("onePost")؛)

چک کردن در دسترس بودن نه در خود کنترلر بلکه در سطح روتر ، به لطف Middleware ، اضافی نخواهد بود. به عنوان مثال ، برای پنل سرپرست ، می توانید بلافاصله یک گروه کامل مانند:

$ app-\u003e گروه ("/ مدیر" ، $ authenticationForRole ($ برنامه ، "مدیر") ، عملکرد () استفاده ($ برنامه) (...))؛
جایی که آرگومان دوم تابع ناشناس اختصاص داده شده به متغیر است. در مورد من ، این طور به نظر می رسد:

$ authenticateForRole \u003d تابع ($ برنامه ، $ role \u003d "مدیر") (عملکرد بازگشت () استفاده ($ برنامه ، $ نقش) (\\ کنترلر \\ Autch :: chekUserRole (برنامه $ ، نقش $)؛)؛)؛
متأسفانه ، و از نظر برخی ، خوشبختانه ، باریک کار داخلی با بانک اطلاعاتی ندارد ، اما وقتی ما یک شیء برنامه را ایجاد می کنیم ، این مسئله کاملاً حل می شود. ما می توانیم برخی از استدلالها را برای استفاده از آن تصویب کنیم.

مثلا:

$ app \u003d new \\ Slim \\ Slim (آرایه ("templates.path" \u003d\u003e "بازدیدها" ، "اشکال زدایی" \u003d\u003e TRUE ، "حالت" \u003d\u003e "توسعه" ، "BDbase" \u003d\u003e "localhost" ، "BDuser") \u003d\u003e "نام کاربری" ، "BDpassword" \u003d\u003e "رمز عبور" ، "BDname" \u003d\u003e "نام اصلی")))؛
سپس می توانیم با خیال راحت به کار با Dependency Injection برای کار با بانک اطلاعاتی ، با اشاره به پارامترهای منتقل شده در هنگام ایجاد با استفاده از $ app-config ("نام")؛

$ app-\u003e بانک اطلاعاتی \u003d mysqli جدید ($ app-\u003e پیکربندی ("BDbase") ، $ app-\u003e پیکربندی ("BDuser") ، $ app-\u003e پیکربندی ("BDpassword") ، $ app-\u003e پیکربندی ("BDname "))؛ if ($ app-\u003e database-\u003e connect_errno) (echo "اتصال به MySQL انجام نشد: (". $ app-\u003e database-\u003e connect_errno. ")". $ app-\u003e database-\u003e connect_error؛ die ()؛) $ app-\u003e data-\u003e query ("تنظیم نام" utf8 ")؛ $ app-\u003e data-\u003e query ("تنظیم تنظیمات مشخصه" utf8 "")؛ $ app-\u003e database-\u003e query ("SET SESSION collation_connection \u003d" utf8_general_ci "")؛
تمام ویژگی های Slim به خوبی ثبت شده اند. در خاتمه ، می خواهم بگویم که برای تیم ما که قبلاً با فریم ورکس های مختلف کار نکرده است ، این تجربه خوبی بود که قبلاً در پروژه ها از آن استفاده می کردیم.

فقط یک هفته پیش ، من نیاز به اجرای یک کار کوچک داشتم. برای آن ، استفاده از یک چارچوب تمام عیار بسیار احمقانه است ، و از آنجا که CMS اصلاً مناسب نیست کار خیلی تنگ و ساده است. تا این لحظه ، من در مورد میکرو چارچوب ها شنیده بودم ، اما از آنها استفاده نمی کردم ، زیرا نیازی نبود اکنون این نیاز بوجود آمده است و من انتخاب خود را برای Slim ترک کردم. در ابتدا ، من بین Slim و Silex جارو شدم ، اما بعد از خواندن مستندات هر دو با جزئیات بیشتر و به این نتیجه رسیدم که Silex با حضور کتابخانه های اضافی که من ، به طور کلی ، نیازی به آن ندارم "سنگین تر" از Slim خواهد بود.

و بنابراین ، وظیفه ایجاد نظرسنجی در قالب تصاویر از رتبه آنها بود. من توصیف نمی کنم دقیقاً چه چیزی را مجبور به پیاده سازی کردم ، زیرا این "کمی" حق نسخه برداری افرادی را نقض کرد که در پایان ، معلوم شد که به طور کلی روی کلاه ... و بنابراین می خواستند ...: "(

نصب و راه اندازی

نصب چارچوب من را بسیار خوشحال کرد. این ساده است - ما از آهنگساز استفاده می کنیم و زحمت نمی کشیم.

("نیاز": ("باریک / باریک": "2. *"))

php composer.phar install

اول شروع کنید

در index.php موارد زیر را می نویسیم:

need_once "../vendor/autoload.php"؛ \\ باریک \\ باریک :: RegisterAutoloader ()؛ $ app \u003d new \\ لاغر \\ باریک ()؛ $ app -\u003e get ("/" ، function () (اکو "سلام مرد!"؛))؛ $ برنامه -\u003e اجرای ()؛

حالا اگر بروید صفحه نخست، آنگاه کتیبه "سلام ، مرد!" را خواهیم دید.

همانطور که قبلاً فهمیدید ، می توانید کار خود را با این چارچوب شروع کنید و تقریباً هیچ کاری نکرده ایم! تمام موارد دیگر در مستندات منتظر شما هستند

چگونه کسی می داند چگونه از این سیستم استفاده کند؟

به نظر نمی رسد که من آموزش یا کتاب یا چیز دیگری در مورد نحوه استفاده از این برنامه پیدا کنم. بله ، وب سایت آنها به طور خلاصه چند مورد را توضیح می دهد ، اما هیچ توضیحی در مورد آن وجود ندارد. Google من را شکست داد.

آیا کسی می تواند در این زمینه به من کمک کند؟ من باید از این استفاده کنم اما برای من کاملاً خارجی به نظر می رسد.

نکته کلیدی در مورد ارائه شده در بالا توسط جرمی کندال (به او مراجعه کنید) این است که اسناد ذکر شده تا زمانی که 2 / 3rds کم نشود ذکر نشده است: برای اینکه Slim برای انجام مسیریابی ، شما به یک پرونده نیاز دارید .htaccess :

بازنویسی Engine On RewriteCond٪ (REQUEST_FILENAME)! -F بازنویسی Rule ^ index.php

و voila ، مثال در ابتدای اسناد Slim اکنون برای شما مفید خواهد بود. به پیشانی برخورد می کند

اطلاعات بیشتر در مورد نحو و محتوای این قوانین .htaccess :

پست های زیر برای شروع کار با اولین کاربرد نازک من به من بسیار کمک کرد. اما آنها برای ساختن خدمات وب RESTful بسیار خاص هستند.

من از طریق پست ها عبور کردم و سپس کد را بارگیری کردم تا با آنها بازی کنم. بعدها توانستم بهترین قطعات را با هم مخلوط کرده و مطابقت دهم و در کمتر از 2 روز شروع به توسعه کنم.

به روز رسانی: 3 سال بعد ، وقت آن رسیده است که برخی از به روز رسانی ها را به این پاسخ اضافه کنید. در این مدت ، تغییرات زیادی در چارچوب باریک (و حتی PHP) تغییر کرده است.

نسخه نازک 3 منتشر شد و تغییرات قابل توجهی در آن ایجاد کرد. در تست های من کمی آهسته تر و کمی پیچیده تر از نازک 2. اما معماری هوشمندانه ، بسیار بهتر ، ایمن ، مناسب برای هر دو پروژه بزرگ و یک وب سایت کوچک است.
همچنین ، PHP استانداردسازی بسیار خوبی را در قالب PSR اتخاذ کرده است که فکر می کنم همه باید شروع به پذیرش آن کنند. اجرای شی گرا در 3 سال بسیار بهبود یافته است و با انتشار PHP 7 ، دیگر روزهای جاوا را از دست نخواهم داد.

  • چارچوب باریک اکنون دارای اسناد عالی است. اگر کسی هنوز از Slim2 استفاده می کند ، برخی از اسناد مناسب را نیز دارد.
  • ابتدا باید به Slim 3 Primer نگاه کنید. http://phpsw.uk/talks/a-slim-3-primer
  • یک وبلاگ نازک یک چیز واقعاً خوب است که بخوانید.
  • https://github.com/xssc/awesome-slim مکان مناسبی برای نشانه گذاری است.

Treehouse و چند نفر دیگر آموزشهای Slim 2 را انجام داده اند ، همانطور که در نظرات ذکر شد ، ارزش دیدن دارند. Slim 3 هنوز فیلمهای آموزشی مبتدی ندارد ، اما مفهوم خود ساده است. برای سایت های ساده ، Slim 2 را برای کسانی که برنامه نویسان با تجربه ندارند توصیه می کنم. اما اگر کسی در تلاش برای ساختن یک برنامه / محصول حرفه ای عالی است ، از Slim 3 استفاده کنید.

جواب قدیمی تر

موافقم که از نظر مستندات و راهنماهای کافی در حوزه خوب توجه کافی وجود ندارد. هنوز یک آموزش بزرگ وجود ندارد ، اما اگر مهارت وانت خوبی دارید ، اجازه دهید من شما را به تنها چیز ارزشمندی که در شبکه پیدا کردم اشاره کنم.

این یک ارائه در مورد ساختار خوب است. یک آموزش کامل نیست ، اما برخی از اصول استفاده از چارچوب را توضیح می دهد. این کار به من کمک کرد وقتی اولین بار فریم ها را پیدا کردم.

این فیلم 43 دقیقه طول دارد ، اما ارزشش را دارد.

اینگونه است که من این کار را کردم

بعد از آن چند آموزش از افراد آنجا خواندم من "از طریق کد" رفتم ... باریک واقعاً "نازک" و فقط 50 پرونده ~ است.

پرونده Slim.php خود را بررسی کنید ، همه از آنجا شروع می شود. به آنچه در سازنده می گذرد نگاهی بیندازید و سپس به روش های دریافت / ارسال نگاه کنید. اگر xdebug نصب کرده باشید می تواند به شما کمک کند از طریق یک درخواست ساده و غیره استفاده کنید.

و به عنوان یک امتیاز اضافی ، شما در مورد PHP ، قالب ها و اصولاً نحوه کار کردن چیزهای زیادی می آموزید.

PS اولین پاسخ من اینجاست :)

Slim یکی از محبوب ترین ریزگردهای منبع باز است که برای PHP موجود است. بسیار کارآمد ، سریع و آسان برای استفاده است. این چارچوب برای توسعه برنامه های وب کوچک و متوسط \u200b\u200bایده آل است و همچنین به شما امکان می دهد تا به سرعت برنامه های بزرگ PHP مقیاس پذیر را توسعه دهید.

ویژگی های Slim دارای موارد زیر (نسبتاً قابل پیش بینی برای یک چارچوب) است:

  • آسان برای استفاده ، روتر قدرتمند و انعطاف پذیر.
  • مشاهده تجسم الگوهای؛
  • کوکی های امن؛
  • ذخیره سازی HTTP؛
  • سهولت کار با خطا و اشکال زدایی
  • سهولت شخصی سازی

الزامات

این راهنما نحوه نصب و پیکربندی Slim را در یک سرور اختصاصی مجازی نشان می دهد. با پیروی از تمام دستورالعمل های ذکر شده در اینجا ، شما یک چارچوب کاملاً پیکربندی شده و آماده برای رفتن با ساختار پوشه ای برای قرار دادن پروژه خود خواهید داشت.

اگر برنامه ای که در حال تهیه آن هستید به MySQL نیازی ندارد ، لازم نیست آن را نصب کنید. حداقل ، شما به یک سرور وب Apache (با ماژول Mod_Rewrite) و PHP 5.3+ نیاز دارید.

نصب سریع الزامات

مرحله 1 - نصب Apache

به روزرسانی مناسب
apt-get install apache2

مرحله 2 - نصب PHP

apt-get install php5 libapache2-mod-php5 php5-mcrypt

3: فعال کردن mod_rewrite

4: در حال ویرایش پرونده پیکربندی آپاچی

که در پرونده پیکربندی آپاچی باید AllowOverride None را به AllowOverride All تغییر دهد. بسته به تنظیمات سرور ، این پرونده ممکن است در:

  • /etc/apache2/apache2.conf
  • / etc / apache2 / سایتهای فعال / 000 پیش فرض
  • / etc / apache2 / سایتهای موجود / پیش فرض

در پرونده پیکربندی ، بخشی را پیدا کنید که به شکل زیر باشد:



AllowOverride None
به همه اعطا شده احتیاج دارید

آن را به شرح زیر ویرایش کنید و تغییرات خود را ذخیره کنید:


فهرست گزینه ها FollowSymLinks
AllowOverride All
به همه اعطا شده احتیاج دارید

5 - راه اندازی مجدد آپاچی

راه اندازی مجدد سرویس apache2

نصب Slim

مراحل نصب چارچوب Slim شامل سه مرحله است:

  • باز کردن پرونده های فشرده.
  • کپی کردن چارچوب باریک در یک مکان عمومی.
  • 1: بارگیری باریک

    می توانید Slim Framework را با استفاده از دستور بارگیری کنید:

    wget https://github.com/codeguy/Slim/zipball/master

    این دستور بایگانی چارچوب را استخراج می کند و آن را در فهرست فعلی با نام اصلی ذخیره می کند.

    2: پرونده zip را باز کنید

    محتویات فایل zip را می توان با استفاده از دستور زیر استخراج کرد:

    استاد unzip -d ./

    توجه داشته باشید: اگر پیامی دریافت کرده اید که ابزار unzip است نصب نشده است ، می توان آن را با دستور apt-get install unzip نصب کرد و دوباره دستور قبلی را دوباره اجرا کرد.

    این دستور پرونده ها را در پوشه ای به نام codeguy-Slim-3a2ac72 استخراج می کند که حاوی پوشه ای به نام Slim ، پوشه چارچوب است.

    3: کپی کردن فریم ورک Slim در یک مکان عمومی

    حال باید پوشه codeguy-Slim-3a2ac72 / Slim را در یک مکان عمومی روی سیستم کپی کنید (برای مثال در / usr / local / Slim) ، از جایی که چارچوب Slim برای همه پروژه های این سرور که به آن نیاز دارند در دسترس خواهد بود. این کار از تکثیر جلوگیری می کند و از بروز مشکلات احتمالی نگهداری برنامه های تکراری جلوگیری می کند.

    پوشه را با استفاده از دستور زیر کپی کنید:

    cp -r ./codeguy-Slim-3a2ac72/Slim / usr / local / Slim

    توجه داشته باشید: اگر نسخه دیگری از چارچوب را بارگیری کنید ، ممکن است نام پوشه استخراج شده (در این حالت codeguy-Slim-3a2ac72) کمی متفاوت باشد. اطمینان حاصل کنید که این دستور حاوی نام پوشه صحیح است.

    پس از اتمام این کار ، هر یک از پروژه های با استفاده از Slim Framework قادر به دسترسی به آن خواهند بود.

    مهم! بسیاری از راهنماها توصیه می کنند فریم ورک را در پوشه مشترک / سند ریشه نصب کنید (به عنوان مثال ، / var / www / Slim). به خاطر داشته باشید: نصب پرونده های زیرساختی در خارج از پوشه مشترک / سند root (همانطور که در اینجا انجام شده است) این دفترچه راهنما) به شما امکان می دهد برنامه را کمی ایمن تر کنید ، زیرا فایل های فریم ورک در مرورگر در دسترس نخواهد بود.

    توسعه پروژه باریک

    به طور معمول ، یک پروژه Slim از سه فهرست اصلی تشکیل شده است:

    1. فهرست چارچوب Slim.

    این شامل پرونده های چارچوب (دایرکتوری است که در بخش قبلی کپی شده است).

    1. دایرکتوری پروژه

    این دایرکتوری شامل پرونده های پروژه (روتر ، نمایش ، مدل ها و غیره) است. به عنوان یک میکرو ساختار ، Slim هیچ ساختار پروژه خاصی را اجرا نمی کند. این بدان معنی است که توسعه دهنده می تواند به طور مستقل پرونده های پروژه را به هر روشی که برای او مناسب باشد ، ساختار دهد. این امر خصوصاً مفید است اگر توسعه دهنده از ساختار پوشه خاص استفاده کند.

    این دایرکتوری می تواند در هر نقطه بر روی سرور قرار داشته باشد. شرط تنها: در حالت ایده آل ، نباید در مکانی قابل دسترسی از شبکه قرار گیرد. می توان آن را در پوشه / usr / local یا home قرار داد. به عنوان مثال ، اگر پروژه در پوشه HelloSlim قرار داشته باشد ، می توان چنین پوشه ای را در / usr / local / HelloSlim یا ~ / HelloSlim قرار داد.

    پرونده های موجود در این پوشه می توانند به شرح زیر باشند:

    سلام
    | - مسیرها
    | | - مسیر1.php
    | | - path2.php
    | - مدل ها
    | | - model1.php
    | | - model2.php
    | - نمایش ها
    | | - footer.php
    | | - header.php
    | | - sidebar.php
    | | - view1.php
    | | - view2.php
    | - کلاس
    | | - class1.php
    | | - class2.php
    | - lines.php // شامل عبارت "شامل" برای همه مسیرها در پوشه "مسیرها" است
    | - شامل.php // شامل عبارات "شامل" برای همه مدل ها / کلاس ها در پوشه "Models / Class" است

    این ساختار پوشه را می توان با استفاده از دستورات زیر ایجاد کرد:

    mkdir / usr / local / HelloSlim
    mkdir / usr / local / HelloSlim / مسیرها
    mkdir / usr / local / HelloSlim / Models
    mkdir / usr / local / HelloSlim / بازدیدها
    mkdir / usr / local / HelloSlim / Class

    توجه داشته باشید: استفاده از این ساختار پوشه ضروری نیست؛ می توان آن را با توجه به نیاز پروژه یا توسعه دهنده اصلاح کرد.

    1. ریشه سند یا پوشه مشترک.

    این یک پوشه در دسترس وب است (معمولاً در / var / www) قرار دارد. این فقط شامل دو پرونده مربوط به Slim:

    • index.php
    • .htaccess

    این پوشه همچنین شامل همه اسکریپت ها است پرونده های گرافیکی و سبک های پروژه برای جلوگیری از "درهم و برهم زدن" پوشه ، می توانید اسکریپت ها ، سبک ها و فهرست های جداگانه ای را در آن ایجاد کنید تا پرونده های مربوطه ذخیره شوند.

    در اینجا مثالی از ساختار پوشه ریشه سند آورده شده است:

    ریشه اسناد (به عنوان مثال. / ور / www /)
    | - اسکریپت ها
    | | - jquery.min.js
    | | - custom.js
    | - سبک ها
    | | - style.css
    | | - bootstrap.min.css
    | - تصاویر
    | | - logo.png
    | | - banner.jpg
    | - .htaccess
    | - index.php

    محتوای پرونده

    فرض کنید پروژه از ساختار فوق الذکر برخوردار است. در این حالت ، شما باید پرونده های .htaccess و index.php (در ریشه سند ، فهرست فهرست سایت) را به شرح زیر پر کنید:

    .htaccess

    بازنویسی Engine On


    index.php



    نیاز به "$ projectDir / вклучува.php"؛ // پرونده ای را شامل شود که شامل کلیه پروژه های مربوط به پروژه باشد
    $ برنامه \u003d جدید \\ باریک \\ باریک (آرایه (
    "templates.path" \u003d\u003e "/ usr / local / HelloSlim / Views"


    $ app-\u003e run ()؛ // بارگیری برنامه

    فرض بر این است که پروژه مطابق ساختار پوشه تعریف شده در قسمت قبلی سازماندهی می شود ، پرونده های երթուղایی.php و شامل.php (در فهرست پروژه) باید دارای مطالب زیر باشند:

    نیاز به "/usr/local/HelloSlim/Routes/route1.php"؛
    نیاز به "/usr/local/HelloSlim/Routes/route2.php"؛

    توجه داشته باشید: به جای اضافه کردن فایلهای مسیر دیگر ، می توانید مسیرها را مستقیماً به این پرونده اضافه کنید. با این حال ، تعریف مسیرها در پرونده های جداگانه و منطقی ، نگهداری پروژه را ساده تر می کند.

    شامل.php

    نیاز به "/usr/local/HelloSlim/Class/class1.php"؛
    نیاز به "/usr/local/HelloSlim/Class/class2.php"؛
    نیاز به "/usr/local/HelloSlim/Models/model1.php"؛
    نیاز به "/usr/local/HelloSlim/Models/model2.php"؛

    برنامه نمونه باریک

    اکنون می توانید یک برنامه ساده ایجاد کنید که:

    • مسیرهای ایستا را کنترل می کند (GET & POST).
    • مسیرهای پویا را کنترل می کند.
    • از نماها استفاده می کند

    توجه داشته باشید: این برنامه نمونه فرض می کند که فریم ورک Slim مطابق دستورالعمل های آموزش مستقر شده است.

    ابتدا باید الزامات این برنامه نمونه را بیان کنید:

    این پروژه به پرونده های زیر در پوشه برنامه (/ usr / local / HelloSlim /) نیاز دارد:

    سلام
    | - مسیرها
    | | - getRoutes.php
    | | - postRoutes.php
    | - نمایش ها
    | | - footer.php
    | | - header.php
    | | - سلام.php
    | | - greet.php
    | - lines.php

    در زیر نحوه کار پوشه اشتراکی ارائه شده است.

    در اینجا مثالی از ساختار ریشه اسناد آورده شده است:

    ریشه اسناد (به عنوان مثال. / ور / www /)
    | - .htaccess
    | - index.php

    اکنون باید این پرونده ها را به شرح زیر پر کنید:

    1. /var/www/.htaccess

    بازنویسی Engine On
    بازنویسی٪٪ (REQUEST_FILENAME)! -F
    بازنویسی ^ index.php

    2. /var/www/index.php

    نیاز به "/usr/local/Slim/Slim.php"؛ // شامل چارچوب در پروژه است
    \\ باریک \\ باریک :: RegisterAutoloader ()؛ // ثبت خودکار
    $ projectDir \u003d "/ usr / local / HelloSlim"؛ // دایرکتوری حاوی پرونده های پروژه را تعریف کنید
    $ برنامه \u003d جدید \\ باریک \\ باریک (آرایه (
    "templates.path" \u003d\u003e "/ usr / local / HelloSlim / Views"
    ))؛ // یک فریم ورک جدید را فوری کنید و مسیر پوشه را که نمایی برای این پروژه دارد ، تعریف کنید
    نیاز به "$ projectDir / lines.php"؛ // پرونده ای را شامل شود که شامل تمام مسیرها / اجزاء مسیر است
    $ app-\u003e run ()؛ // بارگیری برنامه

    3. /usr/local/HelloSlim/Routes/getRoutes.php

    $ app-\u003e دریافت ("/" ، عملکرد () (
    echo "این یک صفحه شروع ساده است"؛
    });
    // زیر هر درخواستی را به مسیر / سلام می رساند
    $ app-\u003e دریافت ("/ سلام" ، عملکرد () استفاده ($ برنامه) (
    // جمله زیر نمای hello.php را فراخوانی و نمایش می دهد
    $ app-\u003e ارائه ("hello.php")؛
    });
    // موارد زیر درخواست های پویا را به مسیرهای / سلام / NAME (مانند / سلام / جهان) ارائه می دهد
    $ app-\u003e دریافت ("/ سلام /: نام" ، عملکرد (نام $) استفاده (برنامه $) (
    // جمله زیر نمای hello.php را فراخوانی و نمایش می دهد. همچنین متغیر $ $ را در یک آرایه منتقل می کند تا نمای بتواند از آن استفاده کند.
    $ app-\u003e ارائه ("hello.php" ، آرایه ("name" \u003d\u003e $ name))؛
    });

    4. /usr/local/HelloSlim/Routes/postRoutes.php

    // موارد زیر درخواست های ارسال شده به مسیر / خوشآمدگویی را کنترل می کند
    $ app-\u003e post ("/ سلام" ، عملکرد () استفاده ($ برنامه) (
    // بیانیه زیر بررسی می کند که آیا "نام" ارسال شده است یا خیر. اگر وجود داشته باشد ، مقدار آن را به متغیر $ name اختصاص می دهد. اگر تنظیم نشده باشد ، رشته ای خالی را اختصاص می دهد.
    $ name \u003d (null! \u003d\u003d $ app-\u003e درخواست-\u003e پست ("نام"))؟ $ app-\u003e درخواست-\u003e پست ("نام"): ""؛
    // بیانیه زیر بررسی می کند که آیا "سلام" ارسال شده است. در صورت وجود ، مقدار آن را به متغیر greeting $ اختصاص می دهد. اگر تنظیم نشده باشد ، رشته ای خالی را اختصاص می دهد.
    $ greeting \u003d (null! \u003d\u003d $ app-\u003e درخواست-\u003e پست ("سلام"))؟ $ app-\u003e درخواست-\u003e پست ("سلام"): ""؛
    // جمله زیر نمای "greet.php" را فراخوانی و نمایش می دهد. همچنین متغیرهای تبریک $ name & $ را در یک آرایه منتقل می کند تا نمای بتواند از آنها استفاده کند.
    $ app-\u003e ارائه ("greet.php" ، آرایه (
    "name" \u003d\u003e $ name ،
    "سلام" \u003d\u003e $ سلام
    ));
    });

    5. /usr/local/HelloSlim/Views/footer.php

    اخطار حق چاپ

    6. /usr/local/HelloSlim/Views/header.php




    نمونه باریک برنامه

    7. /usr/local/HelloSlim/Views/hello.php

    ***

    ***

    سلام


    زنگ

    کسانی هستند که این خبر را قبل از شما می خوانند.
    برای دریافت آخرین مقالات مشترک شوید.
    پست الکترونیک
    نام
    نام خانوادگی
    چگونه می خواهید The Bell را بخوانید
    بدون اسپم