Category: php
-
psalm
سام رو نصب کنید و راحت بخوابید این نوشتهای است که در توضیح اولیه این کتابخانه نوشته شده است. https://psalm.dev It’s easy to make great things in PHP, but bugs can creep in just as easily. Psalm is a free & open-source static analysis tool that helps you identify problems in your code, so you…
-
ماکرو ها در لاراول macro in laravel
ماکرو در واقع امکانی هست که متوانیم رفتار یک کلاس را در زمان اجرا تغییر دهیم . با اضافه کردن یک متد به کلاس. یه مثال : در فایل AppServiceProvider در متد بوت کد زیر را مینویسیم. public function boot() { Response::macro('hi', function ($name) { return 'Hi ' . $name ; }); } و الان…
-
رفلکشن در پی اچ پی Reflection in PHP بخش دوم
در قسمت قبل دیدیم که با رفلکشن ReflectionFunction میتوانیم اجزای یک تابع را بررسی کنیم و پارامترهای تابع هم از نوع رفلکشن ReflectionParameter هستند و میتوان اجزای آنها را هم بررسی کرد. در این بخش یک کلاس تعریف میکنیم و آن را بررسی میکنیم. ابتدا یک کلاس به نام Person را تعریف میکنیم <?php /**…
-
رفلکشن در پی اچ پی Reflection in PHP
رفلکشن قابلیتی در یک برنامه کامپیوتر است که میتوان ساختار و رفتار خود برنامه در زمان اجرا را بررسی کرد و تغییر داد. طبق تعریف php.net : رفلکشن به ما قابلیت مهندسی معکوس کلاس ها، اینترفیس ها، توابع، متد ها و اکستنشن ها را میدهد به این معنی که بدانیم چه قابلیت هایی دارد. بعلاوه…
-
تابع serialize & unserilaze
تابع serialaze یک مقدار php که کلاس هم می تواند باشد را به صورت رشته و قابلیت ذخیرهسازی در پایگاه داده تبدیل میکند و تابع unserilaze هم مقدار serilize شده را به آبجکت یا مقدار قبلی باز میگرداند . در کد زیر یک کلاس را ذخیره میکنیم و بازمیگردانیم. <?php class Test { public $msg;…
-
late-static-bindings چیست ؟
کلمه کلیدی self روال طبیعی ارث بری پیش نمی برد و همیشه self به کلاسی که در آن قرار دارد اشاره می کند. و این یعنی اینکه اگر در کلاس پدر با استفاده از self متد استاتیکی را صدا زده باشید و در کلاس فرزند بخواهید از متد فرزند استفاده کنید، نمی توانید و همان…
-
autoloading in php اتولودینگ در php
پ ن : این مطلب برای یاداشت کردن آموخته های خودم در مورد Autoloading است و ساختار آموزشی ندارد. اوتولودینگ به مبحث لود شدن خودکار فایل ها می پردازد به این معنا که هنگامی که فایل ها زیاد باشند و بخواهیم از آنها استفاده کنیم قبل از هر بار استفاده باید آنها را require کنیم…