博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PSR-0规范
阅读量:5889 次
发布时间:2019-06-19

本文共 803 字,大约阅读时间需要 2 分钟。

hot3.png

#PSR-0规范约定

  1. 命名空间必须与绝对路径一致(目录名)
  2. 类名首字母必须大写
  3. 除入口文件外,其他“.php"文件必须只有一个类,不能有其他科执行代码
  4. 类名和文件名绝对一致

#一个符合规范的基础框架

  1. 全部使用命名空间
  2. 所有php (类)文件必须自动载入,不能有include/require
  3. 只有一个单一入口index.php
  4. 类名和文件名保持一致

###目录架构

  1. 类库文件夹(.php文件)

  2. 逻辑业务文件夹(contorller)

  3. 入口文件

#自定载入类

index.php

define('__ROOT__',__DIR__);//定义根目录include  __ROOT__.'/lib/Loader.php';//引入自定加载类,可以写为函数spl_autoload_register('\\lib\\Loader::autoload');App\Home\Controller\Index::test();//类文件和方法

Loader.php

namespace Lib;class Loader{  static function  autoload($class) {注意 $class是包含命名空间的一个字符串example: 	require __DIR__.'/'.str_replace('\\', '/', $class).'.php'; 	 }}

##类名与实际的磁盘文件映射规则的实现。 require DIR.'/'.str_replace('\', '/', $class).'.php';

命名空间是反斜线,引入路径是正斜线,所以要做字符串替换

##定义根目录

define('__ROOT__',str_replace('\\','/' ,__DIR__));//定义根目录

转载于:https://my.oschina.net/2016jyh/blog/788124

你可能感兴趣的文章
lnmp环境搭建
查看>>
3.JUC之volatile
查看>>
oracle:win7手工卸载oracle数据库11g
查看>>
自定义session扫描器精确控制session销毁时间--学习笔记
查看>>
基于busybox搭建功能完善的小型linux(一)
查看>>
android The project target (Android 2.3.3) was not properly loaded
查看>>
【转】EDK简单使用流程(3)
查看>>
loj#2538. 「PKUWC2018」Slay the Spire
查看>>
这是一篇被河蟹了的博客
查看>>
一个两年Java的面试总结
查看>>
软件工程项目组Z.XML会议记录 2013/11/27
查看>>
科学计算库学习报告
查看>>
软件测试 -- 软件测试的风险主要体现在哪里
查看>>
Ubuntu中无法update的解决办法
查看>>
仿射变换
查看>>
decltype类型指示符
查看>>
虹软ArcFace人脸识别 与 Dlib 人脸识别对比
查看>>
laravel 验证码使用示例
查看>>
IE开发人员工具无法使用
查看>>
分页器(自定制)
查看>>