Rumah pembangunan bahagian belakang tutorial php php自动加载autoload机制示例分享_php实例

php自动加载autoload机制示例分享_php实例

May 17, 2016 am 08:48 AM
autoload autoload

1,自定义函数

2,spl_autoload_register()

复制代码 代码如下:

liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ ll ./*
-rw-rw-r-- 1 liuyuan liuyuan  800 Feb 19 11:39 ./func_autoload.php
-rw-rw-r-- 1 liuyuan liuyuan  906 Feb 19 11:28 ./spl_autoload.php

./include:
total 16
drwxrwxr-x 2 liuyuan liuyuan 4096 Feb 19 11:42 ./
drwxrwxr-x 3 liuyuan liuyuan 4096 Feb 19 11:43 ../
-rw-rw-r-- 1 liuyuan liuyuan  142 Feb 19 11:42 aClass.php
-rw-rw-r-- 1 liuyuan liuyuan  143 Feb 19 11:42 bClass.php

首先看自定义函数方式:

复制代码 代码如下:

    define('EOL', (PHP_SAPI == 'cli') ? PHP_EOL : ' br>');
    print_r(get_included_files());
    echo EOL;
    print get_include_path();
    echo EOL;
    //set_include_path(get_include_path().PATH_SEPARATOR.'/var/www/ly_php/php_spl/include/');
    //set_include_path(dirname(__FILE__).'/include');
    //set_include_path(dirname(__FILE__).'/include/');

    function __autoload($className){
        $filename = './include/'.$className.'.php';
        //$filename = './include/'.$className.'.php';
        //$filename = '/var/www/ly_php/php_spl/include/'.$className.'.php';
        if(file_exists($filename)){
            include_once $filename;
        }else{
            exit('no file');
        }
    }

    $a = new aClass();
    $b = new bClass();
    print_r(get_included_files());
?>

运行结果如下:

复制代码 代码如下:

liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ php func_autoload.php
Array
(
    [0] => /var/www/phpgcs/php_autoload/func_autoload.php
)

.:/usr/share/php:/usr/share/pear
aClass is loaded
bClass is loaded
Array
(
    [0] => /var/www/phpgcs/php_autoload/func_autoload.php
    [1] => /var/www/phpgcs/php_autoload/include/aClass.php
    [2] => /var/www/phpgcs/php_autoload/include/bClass.php
)

第二种方式:

复制代码 代码如下:

    class myLoader{
        public static function autoload($className){
            $filename = './include/'.$className.'.php';
            if(file_exists($filename)){
                include_once $filename;
            }else{
                exit('no file');
            }
        }
    }

    define('EOL', (PHP_SAPI == 'cli') ? PHP_EOL : '
');

    spl_autoload_register(array('myLoader', 'autoload'));

    /**
    *__autoload 方法在 spl_autoload_register 后会失效,因为 autoload_func 函数指针已指向 spl_autoload 方法
    * 可以通过下面的方法来把 _autoload 方法加入 autoload_functions list
    */
    //spl_autoload_register( '__autoload' );

 
    error_reporting(E_ALL^E_NOTICE^E_WARNING^E_ERROR);
    error_reporting(E_NOTICE | E_WARNING );

    $a = new aClass();
    print_r(get_included_files());
    echo EOL;
    $b = new bClass();
    echo EOL;
?>

运行结果如下:

复制代码 代码如下:

liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ php spl_autoload.php
aClass is loaded
Array
(
    [0] => /var/www/phpgcs/php_autoload/spl_autoload.php
    [1] => /var/www/phpgcs/php_autoload/include/aClass.php
)

bClass is loaded
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mekanisme pemuatan automatik dalam PHP Mekanisme pemuatan automatik dalam PHP Jun 18, 2023 pm 01:11 PM

Apabila bahasa PHP menjadi semakin popular, pembangun perlu menggunakan lebih banyak kelas dan fungsi. Apabila projek berkembang dalam saiz, memperkenalkan semua kebergantungan secara manual menjadi tidak praktikal. Pada masa ini, mekanisme pemuatan automatik diperlukan untuk memudahkan proses pembangunan dan penyelenggaraan kod. Mekanisme pemuatan automatik ialah ciri bahasa PHP yang boleh memuatkan kelas dan antara muka yang diperlukan secara automatik pada masa jalan dan mengurangkan pengenalan fail kelas manual. Dengan cara ini, pengaturcara boleh menumpukan pada membangunkan kod dan mengurangkan ralat dan pembaziran masa yang disebabkan oleh pengenalan kelas manual yang membosankan. Dalam PHP, secara amnya

Bagaimana untuk menggunakan JavaScript untuk menskalakan kandungan yang dimuatkan secara automatik apabila menatal ke bahagian bawah halaman sambil mengekalkan kesan nisbah aspek? Bagaimana untuk menggunakan JavaScript untuk menskalakan kandungan yang dimuatkan secara automatik apabila menatal ke bahagian bawah halaman sambil mengekalkan kesan nisbah aspek? Oct 27, 2023 pm 12:36 PM

Bagaimanakah JavaScript boleh mencapai penskalaan automatik kandungan apabila menatal ke bahagian bawah halaman dan mengekalkan kesan nisbah aspek? Dalam reka bentuk web moden, menatal ke bahagian bawah halaman untuk memuatkan lebih banyak kandungan secara automatik telah menjadi keperluan ciri biasa. Apabila kandungan yang dimuatkan mengandungi imej, kami selalunya mahu imej ini mengekalkan nisbah aspek asalnya. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk melaksanakan fungsi ini dan menyediakan contoh kod yang sepadan untuk rujukan. Pertama, kita perlu mendapatkan kedudukan tatal halaman. dalamJavaScr

Bagaimana untuk menggunakan ruang nama PHP7 dan mekanisme pemuatan automatik untuk mengatur struktur kod? Bagaimana untuk menggunakan ruang nama PHP7 dan mekanisme pemuatan automatik untuk mengatur struktur kod? Oct 20, 2023 am 08:57 AM

Bagaimana untuk menggunakan ruang nama PHP7 dan mekanisme pemuatan automatik untuk mengatur struktur kod? Abstrak: Dengan pelancaran PHP7, ruang nama dan mekanisme pemuatan automatik telah menjadi ciri penting yang tidak boleh diabaikan dalam pembangunan PHP. Artikel ini akan memperkenalkan cara menggunakan ruang nama PHP7 dan mekanisme pemuatan automatik untuk mengatur struktur kod, dan menggambarkannya melalui contoh kod tertentu. 1. Apakah ruang nama? Ruang nama ialah mekanisme yang diperkenalkan dalam PHP7 untuk menyelesaikan konflik penamaan yang mungkin berlaku antara perpustakaan kelas atau fail kod yang berbeza. melalui ruang nama

Bagaimanakah pemuatan automatik dan ruang nama berfungsi dalam Komposer? Bagaimanakah pemuatan automatik dan ruang nama berfungsi dalam Komposer? Jun 04, 2024 pm 09:03 PM

Cara pemuatan auto dan ruang nama berfungsi dalam Komposer: Pemuatan Auto: Komposer memanfaatkan ciri pemuatan auto untuk memuatkan kelas secara automatik apabila diperlukan, menghapuskan kebosanan panggilan manual. Ruang nama: Ruang nama mengatur kod dan mengelakkan konflik dengan nama kelas yang sama. Komposer menyokong ruang nama melalui piawaian PSR-4, yang menentukan pemetaan antara ruang nama dan direktori. Kes praktikal: Apabila menggunakan pustaka pihak ketiga, konfigurasi bahagian memerlukan dan muat auto dalam composer.json, dan nyatakan nama pustaka dan peraturan pemetaan. Ini membolehkan kami menggunakan kelas dari perpustakaan secara langsung tanpa perlu memuatkan fail secara manual.

Cara menggunakan Komposer untuk autoloading dalam PHP Cara menggunakan Komposer untuk autoloading dalam PHP Jun 23, 2023 am 10:27 AM

Komposer ialah alat pengurusan pergantungan yang sangat popular dalam PHP. Ia boleh membantu kami mengurus perpustakaan dan komponen pihak ketiga yang diperlukan dalam projek dan memuatkan perpustakaan dan komponen ini secara automatik. Artikel ini akan memperkenalkan cara menggunakan Komposer untuk memuatkan automatik dalam PHP. Pasang Komposer Mula-mula, anda perlu memasang Komposer. Anda boleh memuat turun versi terkini Komposer di https://getcomposer.org/download/ dan memasangnya. InitializeComp

Bagaimana untuk menggunakan JavaScript untuk mencapai kesan pudar dalam memuatkan kandungan secara automatik selepas menatal ke bahagian bawah halaman? Bagaimana untuk menggunakan JavaScript untuk mencapai kesan pudar dalam memuatkan kandungan secara automatik selepas menatal ke bahagian bawah halaman? Oct 16, 2023 am 09:09 AM

Bagaimanakah JavaScript mencapai kesan pudar dalam memuatkan kandungan secara automatik selepas menatal ke bahagian bawah halaman? Dalam reka bentuk web moden, adalah keperluan biasa untuk menatal ke bahagian bawah halaman untuk memuatkan kandungan secara automatik dengan kesan pudar. Artikel ini akan menggunakan JavaScript sebagai contoh untuk memperkenalkan cara mencapai kesan ini. Pertama, kita perlu menggunakan JavaScript untuk mendengar acara tatal halaman. Apabila menatal ke bahagian bawah halaman, kami akan mencetuskan fungsi yang memuatkan kandungan baharu. //Dengar tetingkap acara tatal halaman.addEv

Kelas Induk Pemuatan Auto PHP: Menjadi Pakar Pemuatan Kod Kelas Induk Pemuatan Auto PHP: Menjadi Pakar Pemuatan Kod Mar 02, 2024 pm 09:43 PM

Pengenalan kepada PHP Autoloading PHP autoloading ialah mekanisme yang membolehkan PHP memuatkan kelas secara automatik apabila diperlukan tanpa memasukkan fail secara manual. Ini sangat memudahkan pembangunan aplikasi besar dan meningkatkan kebolehselenggaraan kod. Ruang Nama dan Ruang Nama Muat Auto dalam PHP digunakan untuk menyusun kod. Apabila kelas yang diisytiharkan menggunakan ruang nama perlu dimuatkan, PHP akan melaksanakan proses pemuatan automatik. Autoloader bertanggungjawab untuk mencari dan memuatkan fail kelas yang sepadan berdasarkan ruang nama dan nama kelas. Pemuatan automatik menggunakan Composer Composer ialah alat standard dalam komuniti PHP untuk pengurusan pergantungan dan pemuatan automatik. Selepas memasang Komposer, anda boleh mengkonfigurasi autoloading menggunakan langkah berikut: //composer.JSO

Bagaimana untuk menggunakan JavaScript untuk mencapai kesan paparan kecerunan untuk memuatkan kandungan secara automatik selepas menatal ke bahagian bawah halaman? Bagaimana untuk menggunakan JavaScript untuk mencapai kesan paparan kecerunan untuk memuatkan kandungan secara automatik selepas menatal ke bahagian bawah halaman? Oct 16, 2023 am 08:54 AM

Bagaimanakah JavaScript mencapai kesan paparan kecerunan untuk memuatkan kandungan secara automatik apabila menatal ke bahagian bawah halaman? Dalam reka bentuk web moden, menatal ke bahagian bawah halaman untuk memuatkan kandungan secara automatik adalah keperluan biasa. Untuk meningkatkan pengalaman pengguna, kesan paparan kecerunan juga merupakan pilihan reka bentuk biasa. Jadi, bagaimana kita melaksanakannya dalam JavaScript? Langkah pelaksanaan khusus dan contoh kod diberikan di bawah. Idea utama untuk mencapai kesan ini adalah untuk memantau acara tatal halaman dan menentukan sama ada bahagian bawah halaman telah dicapai berdasarkan kedudukan tatal.

See all articles