آموزش psr0 Based Autoloading در php

  • خانه
  • آموزش psr0 Based Autoloading در php
Image تحقیقات

آموزش psr0 Based Autoloading در php

سلام خدمت شما

در ادامه ی مقالات مربوط به 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 را شامل می شود که می توانید استفاده کنید .

دانلود فایل این جلسه