نظرات ارزشمند شما:

برای ارسال نظر ابتدا باید وارد سایت شوید

  • سلام و وقت بخیر استاد شما در رابطه با namespace داخل دوره شی گرایی صحبت کرده بودید اما در مورد use کردن حرفی نزدید و سوالی که برام پیش اومد این بود که چرا فایل stringy داره از namespace استفاده میکنه و مگه فایلی با کلاس هم نام داره؟؟
    حالا من به جای use از اون کلاس یه شی ایجاد کردم ایا این روش درسته?

    require_once 'vendor/danielstjules/stringy/src/Stringy.php';
    

    $class = new Stringy\Stringy;

    echo $class::create('fòô bàř')->collapseWhitespace()->swapCase(); // 'FÒÔ BÀŘ'

    • سلام وقت بخیر.
      با use اون namespace که اون کلاس داره را مشخص میکنید. ببینید در خصوص اسم کلاس، ممکنه شما توی پروژه کلاسی هم اسم اون کلاس پکیج ایجاد کنید یا اصلا پکیج دیگه ای نصب میکنید و اسم کلاس یکی باشه و برای رفع این مشکل از namespace استفاده میشه

    • اها پس صرفا برای این هست که پروژه به هم نریزه خیلی ممنون ولی این روش که من رفتم یعنی از کلاس شی ساختم هم درسته؟

  • سلام و وقت بخیر
    من پیش نیازهای پکیج
    php-domain-parser
    رو رعایت کردم و با کامپوزر نصبش کردم

    فایل ایندکس من در ریشه هست و شامل 5 خط زیر هستش

    <?php 
    
    use Pdp\Rules;
    use Pdp\Domain;

    $publicSuffixList = Rules::fromPath('/vendor/jeremykendall/php-domain-parser/test_data/public_suffix_list.dat');


    خطایی که می گیرم
    Fatal error: Uncaught Error: Class "Pdp\Rules" not found in C:\xampp\htdocs\myprog\index.php:5

    چرا کلاسهایی که use شده رو نمیشناسه؟

    • سلام وقت بخیر.
      شما باید فایل مورد نظر یا autoload کامپوزر را require کنید تا بتونه تشخیص بده namespace ها برای کدوم فایل هست، دوره را با دقت تا انتها ببینید.