
در php5 شما می توانید به استفاده از تابع autoload دربرنامه نویسی شی گرا،کار خود را بسیار آسان کنید.این تابع به صورت خودکار کلاس های مورد نظر ما را به برنامه اضافه(include) می کند و لازم نیست در ابتدای هر صفحه ،کد های الحاق کلاس ها را تکرار کنیم.
درست حدس زده اید.بهترین کاری که می توان انجام داد استفاده از این تابع در یک فایل مجزا است بدین صورت که با autoload ،تمام کلاس ها و فایل های مورد نیاز را الحاق کنیم سپس در هر صفحه فقط این فایل را اضافه کنیم.عموما موقعی که در حال توسعه یک وبسایت هستم دوست دارم یک فایل پیکربندی داشته باشم که اطلاعاتی از قبیل نحوه اتصال به پایگاه داده و تنظیمات سایت را در آن قرار دهم.بنابراین کدم را اینجا قرار می دهم.
function __autoload($class) { require_once 'classes/'.$class . '.php'; }
کاری که تابع فوق انجام می دهد این است که موقع ایجاد یک شی(object) از یک کلاس،به صورت خودکار کلاس را الحاق می کند.بنابراین هر موقع که نیاز دارم یک شی ایجاد کنم فقط به تکه کد زیر نیاز دارم و کلاس مربوط(همنام شی) خود به خود(روی هوا!) برای من الحاق خواهد شد.
$news = new News();
شما می توانید این تابع را گسترش دهید و کمی هوشمندتر کنید.مثلا ابتدا چک کند تا از وجود فایل کلاس مطمئن شود بعد کلاس را اضافه کند یا ممکن است فایل های کلاس در پوشه های مختلفی باشند.تابعی که کارهای فوق را انجام دهد همین است.
function __autoload($class) { $classpath = 'classes/'.$class . '.php'; if ( file_exists($classpath){ require_once $classpath; } $classpath = 'libs/'.$class . '.php'; if ( file_exists($classpath) { require_once $classpath; }
امیدوارم این مقاله برای شما مفید باشد.از نظر دادن دریغ نکنید!
سلام
ممنون از مطالب خوبتون
این تابع باید توی کلاسمون قرار بگیره دیگه. مثل تابع سازتده کلاس.
نه؟
خوب بود استفاده کردم