Author: علی یوسفی

  • 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 ; }); } و الان…

  • متد های HTTP یا HTTP methods ، verbs

    HTTP methods یا verbs 1- GET retreive data from a server at the specified resource برای دریافت اطلاعات استفاده میشود. تنها درخواستی است که فقط داده را درخواست میکند و هیچ منبعی را تغییر نمیدهد. 2- POST send data to the API sever to create or udpate a resource. داده ارسالی در بدنه درخواست request…

  • رفلکشن در پی اچ پی Reflection in PHP بخش دوم

    در قسمت قبل دیدیم که با رفلکشن ReflectionFunction می‌توانیم اجزای یک تابع را بررسی کنیم و پارامتر‌های تابع هم از نوع رفلکشن ReflectionParameter هستند و میتوان اجزای آنها را هم بررسی کرد. در این بخش یک کلاس تعریف میکنیم و آن را بررسی میکنیم. ابتدا یک کلاس به نام Person را تعریف میکنیم <?php /**…

  • رفلکشن در پی اچ پی Reflection in PHP

    رفلکشن قابلیتی در یک برنامه کامپیوتر است که میتوان ساختار و رفتار خود برنامه در زمان اجرا را بررسی کرد و تغییر داد. طبق تعریف php.net : رفلکشن به ما قابلیت مهندسی معکوس کلاس ها، اینترفیس ها، توابع، متد ها و اکستنشن ها را میدهد به این معنی که بدانیم چه قابلیت هایی دارد. بعلاوه…

  • چارت Nassi–Shneiderman diagram NSD

    معرفی     چارت ناسی-شنیدرمن یاNSD برای نمایش تصویری ساختار برنامه‌نویسی استفاده می‌شود. و توسط Isaac Nassi و Ben Shneiderman دو در سال ۱۹۷۲ توسعه داده شده است. همچنین به این چارت structograms (چارت‌ساختار) می‌گویند که ساختار برنامه را نمایش می‌دهد.     طبق طراحی حل مساله  بالا به پایین  مسئله را کوچکتر و کوچکتر می‌کنیم تا در نهایت…

  • تابع serialize & unserilaze

    تابع serialaze یک مقدار php که کلاس هم می تواند باشد را به صورت رشته و قابلیت ذخیره‌سازی در پایگاه داده تبدیل میکند و تابع unserilaze هم مقدار serilize شده را به آبجکت یا مقدار قبلی باز میگرداند . در کد زیر یک کلاس را ذخیره میکنیم و بازمیگردانیم. <?php class Test { public $msg;…

  • late-static-bindings چیست ؟

    کلمه کلیدی self روال طبیعی ارث بری پیش نمی برد و همیشه self به کلاسی که در آن قرار دارد اشاره می کند. و این یعنی اینکه اگر در کلاس پدر با استفاده از self متد استاتیکی را صدا زده باشید و در کلاس فرزند بخواهید از متد فرزند استفاده کنید، نمی توانید و همان…

  • autoloading in php اتولودینگ در php

    پ ن : این مطلب برای یاداشت کردن آموخته های خودم در مورد Autoloading است و ساختار آموزشی ندارد. اوتولودینگ به مبحث لود شدن خودکار فایل ها می پردازد به این معنا که هنگامی که فایل ها زیاد باشند و بخواهیم از آنها استفاده کنیم قبل از هر بار استفاده باید آنها را require کنیم…