php自动加载autoload机制示例分享_php实例
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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Da die PHP-Sprache immer beliebter wird, müssen Entwickler immer mehr Klassen und Funktionen verwenden. Wenn ein Projekt größer wird, wird es unpraktisch, alle Abhängigkeiten manuell einzuführen. Zu diesem Zeitpunkt ist ein automatischer Lademechanismus erforderlich, um den Codeentwicklungs- und Wartungsprozess zu vereinfachen. Der automatische Lademechanismus ist eine Funktion der PHP-Sprache, die erforderliche Klassen und Schnittstellen zur Laufzeit automatisch laden und die manuelle Einführung von Klassendateien reduzieren kann. Auf diese Weise können sich Programmierer auf die Entwicklung von Code konzentrieren und Fehler und Zeitverschwendung reduzieren, die durch mühsame manuelle Klasseneinführung entstehen. Im Allgemeinen in PHP

Wie kann JavaScript eine automatische Skalierung des Inhalts beim Scrollen zum Ende der Seite erreichen und den Seitenverhältniseffekt beibehalten? Im modernen Webdesign ist das Scrollen zum Ende der Seite, um automatisch mehr Inhalte zu laden, zu einer häufigen Funktionsanforderung geworden. Wenn der geladene Inhalt Bilder enthält, möchten wir oft, dass diese Bilder ihr ursprüngliches Seitenverhältnis beibehalten. In diesem Artikel wird die Verwendung von JavaScript zum Implementieren dieser Funktion vorgestellt und entsprechende Codebeispiele als Referenz bereitgestellt. Zuerst müssen wir die Scrollposition der Seite ermitteln. inJavaScr

Wie verwende ich den Namespace und den automatischen Lademechanismus von PHP7, um die Struktur des Codes zu organisieren? Zusammenfassung: Mit der Einführung von PHP7 sind Namespace und automatischer Lademechanismus zu wichtigen Funktionen geworden, die bei der PHP-Entwicklung nicht ignoriert werden können. In diesem Artikel wird erläutert, wie Sie den Namespace und den automatischen Lademechanismus von PHP7 verwenden, um die Struktur des Codes zu organisieren, und dies anhand spezifischer Codebeispiele veranschaulichen. 1. Was ist ein Namespace? Namespace ist ein in PHP7 eingeführter Mechanismus zur Lösung von Namenskonflikten, die zwischen verschiedenen Klassenbibliotheken oder Codedateien auftreten können. über Namensraum

So funktionieren Autoloading und Namespaces in Composer: Autoloading: Composer nutzt die Autoloading-Funktion, um Klassen bei Bedarf automatisch zu laden, wodurch die lästigen manuellen Aufrufe entfallen. Namespace: Namespace organisiert Code und vermeidet Konflikte mit demselben Klassennamen. Composer unterstützt Namespaces über den PSR-4-Standard, der die Zuordnung zwischen Namespaces und Verzeichnissen festlegt. Praktischer Fall: Wenn Sie eine Bibliothek eines Drittanbieters verwenden, konfigurieren Sie die erforderlichen und automatisch ladenden Teile in Composer.json und geben Sie den Bibliotheksnamen und die Zuordnungsregeln an. Dadurch können wir Klassen aus der Bibliothek direkt verwenden, ohne Dateien manuell laden zu müssen.

Composer ist ein sehr beliebtes Abhängigkeitsmanagement-Tool in PHP. Es kann uns dabei helfen, die im Projekt benötigten Bibliotheken und Komponenten von Drittanbietern zu verwalten und diese Bibliotheken und Komponenten automatisch zu laden. In diesem Artikel wird erläutert, wie Sie Composer zum automatischen Laden in PHP verwenden. Composer installieren Zuerst müssen Sie Composer installieren. Sie können die neueste Version von Composer unter https://getcomposer.org/download/ herunterladen und installieren. InitializeComp

Wie erreicht JavaScript den Einblendeffekt, bei dem Inhalte automatisch geladen werden, nachdem zum Ende der Seite gescrollt wurde? Im modernen Webdesign ist es eine sehr häufige Anforderung, zum Ende der Seite zu scrollen, um automatisch Inhalte mit Einblendeffekt zu laden. In diesem Artikel wird JavaScript als Beispiel verwendet, um vorzustellen, wie dieser Effekt erzielt werden kann. Zuerst müssen wir JavaScript verwenden, um auf Seiten-Scroll-Ereignisse zu warten. Wenn wir zum Ende der Seite scrollen, lösen wir eine Funktion aus, die neue Inhalte lädt. //Hören Sie sich das Seiten-Scroll-Ereignis an window.addEv

Einführung in das automatische Laden von PHP PHP-Autoloading ist ein Mechanismus, der es PHP ermöglicht, Klassen bei Bedarf automatisch zu laden, ohne die Dateien manuell einzubinden. Dies vereinfacht die Entwicklung großer Anwendungen erheblich und verbessert die Wartbarkeit des Codes. Namespaces und Autoloading-Namespaces in PHP werden zum Organisieren von Code verwendet. Wenn eine mit einem Namespace deklarierte Klasse geladen werden muss, führt PHP einen automatischen Ladevorgang durch. Der Autoloader ist dafür verantwortlich, die entsprechenden Klassendateien basierend auf dem Namespace und dem Klassennamen zu finden und zu laden. Verwenden von Composer zum Implementieren des automatischen Ladens Composer ist das Standardtool in der PHP-Community für Abhängigkeitsmanagement und automatisches Laden. Nach der Installation von Composer können Sie das automatische Laden mit den folgenden Schritten konfigurieren: //composer.JSO

Wie erreicht JavaScript den Verlaufsanzeigeeffekt, bei dem Inhalte automatisch geladen werden, nachdem zum Ende der Seite gescrollt wurde? Im modernen Webdesign ist es eine häufige Anforderung, zum Ende der Seite zu scrollen, um Inhalte automatisch zu laden. Um das Benutzererlebnis zu verbessern, sind auch Verlaufsanzeigeeffekte eine gängige Designoption. Wie implementieren wir es also in JavaScript? Spezifische Implementierungsschritte und Codebeispiele sind unten aufgeführt. Die Hauptidee zur Erzielung dieses Effekts besteht darin, das Scroll-Ereignis der Seite zu überwachen und anhand der Scroll-Position festzustellen, ob das Ende der Seite erreicht wurde.
