اصفهان - گلپایگان - میدان بسیج - مجتمع تجاری پارسیان - طبقه اول انتهای راهرو خدمات ژوپین پ 136
031-57453161   09130246374   @ info[at]zhupin[dot]ir  



چگونه سیستم ماژولار با php ایجاد کنیم (1)


چگونه سیستم ماژولار با php ایجاد کنیم (1)

طراحی یک cms به هر روشی با توجه به سلیقه طراح امکان پذیر است ولی اولین سوالی که به ذهن طراح میرسد این است که برای هر تغییر ساده و یا حیاتی چرا باید کد ها دستکاری کنم؟

در اینجا اهمیت یک سیستم ماژولار معلوم می شود . سیستمی که با یک زیر برنامه یا تکه برنامه الحاقی به آن بتوان یک قابلیت جدید یا یک تغییر در قسمتی ایجاد کرد.

در اینجا بهترین روش صدا زدن و گوش دادن می باشد . یعنی چی؟

یعنی اینکه در جایی باید یک تابع گوش به زنگ باشد و در جایی قبل از آن تابعی آن را صدا بزند و زمانی که به تابع شنونده رسید عملیات صدا زننده انجام شود. شاید درک آن الان سخت باشد ولی با یک مثال توضیح میدیم.

برای انجام چنین عملیاتی نیاز به شی گرایی داریم و اصطلاحا سیستم هوک را پیاده سازی میکنیم.

فایل زیر را دانلود کنید

Php-hooks is maintained by Ohad Raz (@Bainternet).

در xampp یا ومپ خود یک بخش برای تمرین ایجاد کنید مثلا پوشه ای با نام hook

در این پوشه فایل php-hooks.php را که در بسته بالا دریافت کردید قرار بدید .

فایل را باز کنید و در آخر ببینید یک متغیر با نام hook ایجاد سراسری تعریف کرده تا در هرجا حتی درون بلوک های توابع هم قابل دسترسی باشد

سپس این متغیر یک نمونه از شی کلاس hook را دارد که میتوان از طریق آن به متد های کلاس دسترسی داشت

پس اگر ما این فایل را اینکلود کنید در اصل یک نمونه از شی هم ساختیم به دلیل وجود این بخش

یک فایل index.php هم بسازید و کد زیر را در آن قرار بدید

<?php

require_once('php-hooks.php');

$hooks->add_action('DO_ME' ,  function(){  echo 'IM HOOK DO MEE....';  }   );

echo  'hello';

echo '<hr>';

$hooks->do_action('DO_ME');

 

?>

 

در کد بالا متد add_action میگوید هر جا اکشنی با نام DO_ME یا هر نامی که شما دوست داشتید را دیدی تابعی که در آرگومان دوم نوشتیم را بهش اضافه کن . حالا میتونید تابع را اینجور بنویسید یا این که فقط نام تابع را در درون ' یا " بنویسید و تابع را در بالا یا پایین کامل بنویسید.

 

حالا برنامه وقتی به متد do_action میرسد میبیند DO_ME هست آرگومان اولش پس پون قبلا اکشنی اضافه شده بهش اون را اجرا میکنه

 

میبینید در ابتدای برنامه تغییری در انتهای برنامه دادیم 

موارد دیگر مانند add_filter و apply_filter هست که این توابع بیشتر برای تغییر در یک مقدار است مثلا تغییر نام تایتل سایت و غیره که بعدا توضیح می دهیم.


1395/07/13 21:55:46      مطالب آموزشی php    1017 بار    اشتراک در تلگرام    http://www.zhupin.ir/post/3

نظرات

دیدگاهی یافت نشد

کد امنیتی :

پایتخت ایران؟