SPL Functions
PHP Manual

spl_autoload_register

(PHP 5 >= 5.1.2)

spl_autoload_registerثبت توابع داده شده به عنوان پیاده‌سازی __autoload()

Description

bool spl_autoload_register ([ callback $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )

ثبت تابع با استفاده از پشته __autoload فراهم شده spl. اگر پشته فعال نشده باشد فعال خواهد شد.

اگر کد شما تابع __autoload داشته باشد این تابع باید به صورت صریح در پشته __autoload ثبت شود. این کار برای جایگزینی موثر کاشه موتور توسط spl_autoload_register() برای تابع __autoload به کمک spl_autoload() یا spl_autoload_call() است.

اگر باید جندین تابع autoload وجود داشته باشد spl_autoload_register() این امکان را فراهم می‌:ند. به شکل موثری صف توابع autoload ساخته می‌شود و به ترتیب تعریف آنها اجرا خواهد شد . به صورت دیگر __autoload() تنها یکبار تعریف می‌شود.

Parameters

autoload_function

تابع autoload برای ثبت. اگر پارامتر فراهم نشده باشد پیاده ‌سازی پیش‌فرض spl_autoload() ثبت خواهد شد.

throw

این پارامتر ایجاد استثنا توسط spl_autoload_register() در هنگام خطا را مشخص می‌کند.

prepend

اگر درست باشد spl_autoload_register() autoloader را در پشته autoload به صورت پیش الصاق می‌کند .

Return Values

Returns TRUE on success or FALSE on failure.

Changelog

Version Description
5.3.0 پشتیبانی از فضای نام اضافه شد.
5.3.0 پارامتر prepend اضافه شد.

Examples

Example #1 مثال spl_autoload_register()

<?php

namespace Foobar;

class 
Foo {
    static public function 
test($name) {
        print 
'[['$name .']]';
    }
}

spl_autoload_register(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0

new InexistentClass;

?>

The above example will output something similar to:

[[Foobar\InexistentClass]]
Fatal error: Class 'Foobar\InexistentClass' not found in ...


SPL Functions
PHP Manual