آموزش psr0 Based Autoloading در php
- توسط : علی حسین شهابی
- 0 نظر
سلام خدمت شما
در ادامه ی مقالات مربوط به composer و Autoloading , نوبت میرسه به نوع دیگری از autoload در composer به نام psr-0 صحبت کنیم. (اگر با composer آشنایی ندارید پیشنهاد میکنم سری های قبلی آموزش composer و Autoloading را مطالعه کنید.)
استاندارد psr-0 و psr-4 بر خلاف دو روش قبلی یعنی files , classmap با namespace ها در کلاس ها سرو کار دارد .
خب اول به یک پیش زمینه درباره کلاس ها اشاره کنم.
همانطور که می دانید در زبان php می توانید کلاس هایی هم نامی داشته باشید که namespace های مختلفی دارند .
اگر داخل فولدر src کلاس هایی داشتین که namespace دیگری غیر از PHPPowerPoint داشت و یا اصلن در فولدر دیگری بودند باید در صورت نیاز آنها را نیز داخل فایل composer.json مشخص نماییم . مثلا در شاخه src کلاس هایی داریم که namespace آنها PHPAdvertise است :
{
"autoload": {
"psr-0": {
"PHPPowerPoint": "src/" ,
"PHPAdvertise": "src/"
}
}
}
حالا ترمینال یا cmd را باز کرده و به روت پروژه برین سپس دستور composer install را برای ایجاد autoload ها وارد کنید و سپس اینتر را بزنید . بعد از اجرای این دستور باید فولدری به نام vendor نیز در روت پروژه شما ساخته شده باشد . (در مراتب بعدی یعنی وقتی فایل composer.json را ویرایش می کنید به جای دستور composer install دستور composer dump-autoload را بزنید.)
کار به پایان رسید.. برای تست, آدرس پروژه و فایل ایندکس آن را در مروگر وارد نمایید .
اگر مراحل بالا را به درستی انجام داده باشید نباید اروری مبنی بر پیدا کلاس ها مشاهده کنید .
فایل های این جلسه رو قرار میدم براتون . این فایل ها چند کلاس اضافه تر به همراه مدل های مختلفی از namespace را شامل می شود که می توانید استفاده کنید .