PHP类自动加载-spl_autoload_register

简得不能再简的简介

通常我们在php框架里面使用以下代码,就能访问到kitchen文件夹的Order类。

<?php

use kitchen\Order;

$order = new Order();
$order->main();

直接用原生这样按照这样的框架是无法是实现的,接下来是实现这样的过程。

开始

1.直接新建文件夹autoload-php(随意命名),并建立一些系列的文件夹,autoload-php目录如下

	autoload-php
		| - garden
			| - Order.php
		| - kitchen
			| - Order.php
		| - index.php

2.garden/Order.php

<?php

namespace garden;

class Order
{
    public function main()
    {
        echo 'i am in garden'; 
    }
}

3.index.php

<?php

use kitchen\Order;

$order = new Order();
$order->main();

4.访问
在这里插入图片描述
报错,致命错误不存在kitchen\Order,因为没有进行自动加载之类的操作,报错实属正常,下面开始操作

5.新建文件Autoload.php,项目文件如下

	autoload-php
		| - garden
			| - Order.php
		| - kitchen
			| - Order.php
		| - index.php 
		| - Loader.php      ++

6.Loader.php

<?php

class Loader
{
    public static function init()
    {
        spl_autoload_register(['self', 'autoload']);
    }

    public static function autoload($className)
    {
        include($className . '.php');
    }
}

7.index.php

<?php

include('./Loader.php');

Loader::init();

use kitchen\Order as KitchenOrder;
use garden\Order as GardenOrder;

$kitOrder = new KitchenOrder();
$kitOrder->main();

$garOrder = new GardenOrder();
$garOrder->main();

8.访问成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值