ساخت کلاس Routing

شرکت پلاتین ، با مقاله ساخت کلاس Routing در خدمت شما می باشد.

در بررسی ساختار فریمورکی که در این مقاله توسعه خواهیم داد، دیدیم که فولدر mvc حاوی فایل و فولدرهای زیر می باشد:

در این مقاله ، به بررسی فولدر public پرداختیم و قصد داریم تا به بررسی فولدر app بپردازیم. برای همین منظور، در مسیر روت پروژه با استفاده از کامند زیر فولدری تحت عنوان app می‌سازیم:

پیش از این گفته شد که قرار است تا این پوشه حاوی فولدرها و فایل‌های زیر باشد:

در همین راستا، در این مقاله قصد داریم تا فایل Routing.php را بررسی کنیم. بر اساس استاندارد PSR-4: Autoloader که در مقاله گذشته با مفهوم‌اش آشنا شدیم، ابتدا پوشه‌ای تحت عنوان Core ساخته سپس با استفاده از کامند زیر این فایل را می‌سازیم:

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

پس از درج تگ آغازین php?> ابتدا کیورد namesapce را می نویسیم سپس نام پوشه‌ای که داخل آن قرار داریم را نوشته که در این مثال Core می باشد. در واقع، کاری که نِیم‌اِسپیس انجام می‌دهد ، این می باشد که مشخص می‌سازد فایل Routing.php دقیقاً در چه مسیری قرار داد و به کدام نِیم‌اِسپیس تعلق دارد؛ سپس در ادامه مقاله فایل composer.json را تکمیل می‌کنیم تا نِیم‌اِسپیسی تحت عنوان Core در این پروژه به رسمیت شناخته شود.

همان‌طور که می‌بینیم، کلاسی تعریف کرده‌ایم به نام Routing که حاوی یک پراپرتی تحت عنوان routes$ از جنس public می باشد که این امکان را برای‌مان فراهم می‌ کند تا از هر جای پروژه به آن دسترسی داشته باشیم. نیاز به توضیح نیست که routes$ آرایه‌ای چندبُعدی است که در آن یکسری URL پیش‌فرض تعریف کرده‌ایم به طوری که اگر کاربر هر لینکی به غیر از آنچه در کلیدهای route در این آرایه تعریف شده را در آدرس‌بار درج نماید، با ارور ۴۰۴ مواجه خواهد شد. برای مثال، آرایهٔ مربوط به هوم‌پیج سایت را مد نظر قرار می‌دهیم:

در آرایهٔ فوق ، کلیدی تحت عنوان route داریم که مشخصاً لینکی که به هوم‌پیج سایت منتج می‌شود را تعیین می‌کند. سپس کلیدی  به نام module وجود دارد که مقدار در نظر گرفته شده برای آن Base است که به منزلهٔ ماژول اصلی این فریمورک می‌باشد که در فصول آتی آن را خواهیم ساخت. کلیدهای controller و action نیز به ترتیب مشخص‌کنندهٔ کنترلر و متدی در ماژول Base هستند که پس از وارد کردن لینک default/homepage فراخوانی خواهند شد.

لازم به یادآوری می باشد کانستراکتور متدی می‌باشد که به محض ساخت یک آبجکت از روی کلاس‌مان فراخوانی خواهد شد. از همین روی، در کانستراکتور کلاس Routing.php دستور داده‌ایم تا به محض ساخت یک آبجکت از روی این کلاس، پراپرتی routes$ ریترن گردد. اکنون به منظور تست، مجدد به فایل index.php بازگشته و آن را به صورت زیر تغییر می‌‌دهیم:

با رفتن به مسیر http://mvc.local در مرورگر، در خروجی با ارور زیر مواجه خواهیم شد:

این ارور حاکی از آن می باشد که کلاسی با نِیم‌اِسپیس Core\Routing که در خط پنجم فایل index.php استفاده شده است یافت نشد. دلیل این مسئله آن می باشد که در فایل composer.json چنین نِیم‌اِسپیسی تعریف نشده است.

دیدگاه شما:

نوشته های مرتبط

۰۲

شهریور
استارت آپ, طراحی اپلیکیشن

انواع اپلیکیشن ها و زمینه های مختلف استفاده از اپلیکیشن

  حتما شما هم تعداد زیادی از انواع اپلیکیشن ها را بر روی گوشی موبایل یا تبلت تان نصب کرده اید. حقیقتا استفاده از این برنامه ها زندگی روزمره ما را بسیار ساده کرده اند و کنار گذاشتن آن ها […]

۲۶

مرداد
تجارت

کتاب تمرینات پایتون

توضیحات کتاب تمرینات پایتون یا Practices of the Python Pro در واقع به حل چالش‌های بزرگ در زبان برنامه‌نویسی پایتون می‌پردازد. در واقع در این کتاب ۲۵۰ صفحه‌ای که از ۴ فصل تشکیل شده است به بیان برخی از مشکلات[…]

۰۹

مرداد
تجارت

برندسازی از اینستاگرام

  این شبکه اجتماعی پرمخاطب و محبوب که در مدت خیلی کمی توانست رقبای خودش را پشت سر بگذارد؛ خیلی حائز اهمیت است. رسانه‌ای که بی‌ شک این روزها همه صاحبان کسب و کار تولیدی، بازرگانی و خدماتی در هر[…]