首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏mousemin

    PSR-0自动加载规范

    PSR-0自动加载规范 此规范已被弃用 - 本规范已于 2014 年 10 月 21 日被标记为弃用,目前最新的替代规范为 PSR-4 。

    76410编辑于 2023-06-10
  • 来自专栏我的博客

    Composer

    spl_autoload_register 更多参考:http://php.net/manual/zh/language.oop5.autoload.php Composer提供了四种自动加载的方式,分别是PSR PSR-0要求目录名称和命名空间层层对应,会导致目录结构容易变得比较深。虽然已被官方废弃,但因为主流框架都已实现psr-0,因此composer仍然使用psr-0来向下兼容。 按照PSR-0的规则,当试图自动加载 “Foo\Bar\Baz” 这个class时,那么会去寻找”src/Foo/Bar/Baz.php”。 psr-4方式,是composer推荐使用的一种方式,也是psr-0的替代方案,因为在PSR-0中目录结构要与命名空间层层对应,无法插入一个单独的目录。

    1.6K70发布于 2018-04-28
  • 来自专栏PHP在线

    拒绝重复造轮子,用composer搞自己的框架(1)

    FIG 最初由几位知名 PHP框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了 PSR-0 到 PSR-4 五套 PHP 非官方规范: 1. PSR-0 (Autoloading Standard) 自动加载标准 2. PSR-1 (Basic Coding Standard) 基础编码标准 3. Composer 利用 PSR-0 和 PSR-4 以及 PHP5.3 的命名空间构造了一个繁荣的 PHP 生态系统。

    1.2K50发布于 2018-03-08
  • 来自专栏佳爷的后花媛

    composer autoloader

    4 类映射与PSR-0与PSR-4的对比。 这里有很多不同的类映射方式,一旦使用其中一种,就要遵循规则,composer会根据遵循的去查找和加载。 b) PSR-0: 当这个逻辑存在在 vendor/composer/autoload_namespaces.php, 要遵循PSR-0规则. c) PSR-4: 当存在在 vendor/composer PSR-0 和 PSR-4 的规则大致相同。 注意: 对于这两者,每次添加新的PHP类时都不必运行composer dumpautoload,因为“搜索文件路径”过程是动态进行的。 -PSR-4 PSR-0将下划线转换为目录分隔符,而它不在PSR-4中: 每个 "_" in the CLASS NAME 被转换成 a DIRECTORY_SEPARATOR. -PSR-0 所以 $a = new Classes_A(); 会加载如下: <?

    1.1K10发布于 2020-04-23
  • 来自专栏PHP在线

    PHP的PSR系列规范都有啥内容

    PSR 是PHP Standard Recommendation的简写,它其实应该叫PSRs,即系列推荐标准:目前通过的规范有PSR-0(Autoloading Standard)、PSR-1(Basic PSR-0(Autoloading Standard) PSR-0即类自动加载规范(原文:官网、GitHub)。从2014-10-21日起,该规范被标记为Deprecated,由PSR-4替代。 代码的编码格式必须只使用不带BOM的UTF-8 一个源文件建议只用来做声明(类,函数,常量等)或者只用来做一些引起副作用的操作(例如:输出信息,修改.ini配置文件等),但不应该同时做这两件事 命名空间和类必须遵守PSR 它是PSR-0规范的接替者。它可以与任何其它的自动加载规范兼容,包括PSR-0

    1.2K70发布于 2018-03-08
  • 来自专栏沈唁志

    为什么Composer在生产环境要使用dumpautoload

    $logicalPathPsr4)) { return $file; } } // PSR-0 lookup if (false ! return $file; } } } } } // PSR $logicalPathPsr0)) { return $file; } } // PSR-0 include paths. return $file; } return false; } 我们可以看到会先去查找 autoload_classmap 中所有生成的注册类,如果没有才会加载 psr-4 和 psr

    2.5K20发布于 2019-12-09
  • 来自专栏友人a的笔记丶

    PHP如何使用Composer来自动加载项目文件?

    composer dump-autoload -o (-o 等同于 --optimize) 这个命令的本质是将 PSR-4/PSR-0 的规则转化为了 classmap 的规则, 因为 classmap 这个命令并没有考虑到当在 classmap 中找不到目标类时的情况,当加载器找不到目标类时,仍旧会根据PSR-4/PSR-0 的规则去文件系统中查找; composer dump-autoload -a autoload,表示PHP 自动加载的映射,支持 PSR-4 和 PSR-0 自动加载,class 映射 和 files 引用。 在 PSR-0 标准中,您必须使用命名空间来定义您的库。完全限定的类名必须反映\\(\)*结构。此外,您的类必须保存在遵循与命名空间相同的目录结构的文件中。 在 PSR-0 自动加载中,您需要将命名空间映射到目录。

    5K40编辑于 2023-02-17
  • 来自专栏LIN_ZONE

    composer 实现自动加载原理

    $logicalPathPsr4)) { return $file; } } // PSR-0 lookup } } } } } // PSR $logicalPathPsr0)) { return $file; } } // PSR-0 include

    1.2K30发布于 2018-08-15
  • 来自专栏陶士涵的菜地

    [composer] composer自动加载files 形式测试

    composer有四种自动加载形式 file,classmap,psr-0,psr-4 第一种file 是最简单的 目录下的文件 ? 文件的内容 ? index.php ?

    76220发布于 2021-07-14
  • 来自专栏小孟开发笔记

    PSR-4规范:自动加载

    PSR-4规范:自动加载 虽然在[PSR-4-Meta]中指出PSR-4是对PSR-0规范的补充而不是替换,但是在[PSR-0]中已经写到PSR-0于2014.10.21被废弃,并在[PSR-4-Meta ]中详细写明了PSR-0的不足,已经不能满足面向package的自动加载。 可以与PSR-0规范互操作,可以一起使用。这份PSR也描述了自动加载的文件应当放在哪里。 Composer使用PSR-0风格 1 2 3 4 5 6 7 8 9 10 11 vendor/ vendor_name/ package_name/ src/ Vendor_Name/ Package_Name

    1.1K40编辑于 2023-05-21
  • 来自专栏mousemin

    PSR-4 自动加载规范

    它拥有非常好的兼容性,并且可以在任何自动加载规范中使用,包括 PSR-0。 PSR-4 规范也描述了放置 autoload 文件(就是我们经常引入的 vendor/autoload.php)的位置。 下划线在全限定类名中没有任何特殊含义(在 PSR-0 中下划是有含义的)。 全限定类名可以是任意大小写字母的组合。 所有类名的引用必须区分大小写。

    81110编辑于 2023-06-10
  • 来自专栏Lemon黄

    【译】现代化的PHP开发--PSR规范

    1 PSR-0, PSR-4 PSR-0,和PSR-4这两个是关于自动加载的标准。 显然,php迫切需要一个autoloader的标准,这就是PSR-0的诞生。 今天,自动加载器的标准有了很大的发展。然而PSR-0也因为一些限制因素而被官方废除,比如它对Composer的不友好。 命名空间和类必须遵循PSR-0。 类名必须用首字母大写驼峰式声明 类常量必须使用下划线分隔符以大写形式声明。 方法名必须用首字母小写驼峰式声明。

    79020发布于 2019-10-08
  • 来自专栏陶士涵的菜地

    [composer] composer dump-autoload 的加载优化

    执行命令 composer dump-autoload -o (-o 等同于 --optimize) 原理: 这个命令的本质是将 PSR-4/PSR-0 的规则转化为了 classmap 的规则, 因为

    1.9K20发布于 2021-06-29
  • 来自专栏LNMP开发那些事

    PSR-1: 基本编码规范

    命名空间和类必须遵循一个“自动加载”规范:[PSR-0, PSR-4]。 类名称必须声明为StudlyCaps的形式,即名称中每个单词首字母大写。 类常量必须只使用大写字母,用下划线来做单词间隔离。 bar')) { function bar() { // function body } } 四、命名空间和类名称 命名空间和类必须遵循一个“自动加载”规范:[PSR

    65940发布于 2019-07-31
  • 来自专栏我的博客

    phpspec安装

        “phpspec/phpspec”: “~3.0”   },   “config”: {     “bin-dir”: “bin”   },   “autoload”: {     “psr

    806120发布于 2018-04-28
  • 来自专栏站长的编程笔记

    composer 三大组成部分

    自动加载 ---- 只需要执行composer命令拉取扩展包,即可实现自动加载 自动加载代码,包依赖管理和使用自动加载,PSR-0 和 PSR-4 自动加载规范

    54610编辑于 2023-02-17
  • 来自专栏PHP开发者那些事

    php composer 引入第三方SDK

    你可以用 classmap 生成支持支持自定义加载的不遵循 PSR-0/4 规范的类库 如果不是规范命名空间的类文件或目录,要引入到composer中去管理 可以在项目的composer.json文件中的

    1.5K20发布于 2020-06-23
  • 来自专栏俗人笔记

    创建你的第一个composer包

    └── Talk.php 2 directories, 2 files 添加自动加载 然后我们可以手动编辑生成的composer.json文件,添加php的版本要求和自动加载(使用PSR minimum-stability": "dev", "require": { "php": ">=5.3.0" }, "autoload": { "psr

    1.4K30发布于 2018-09-13
  • 来自专栏Web技术布道师

    PHP规范PSR0和PSR4的理解

    参考:http://www.php-fig.org/psr/psr-0/ 以下,列出PSR0构建的规范类的几种形式: ? require $fileName; } spl_autoload_register('autoload'); 三、PSR4简介 这个 PSR 描述的是通过文件路径自动载入类的指南;它作为对 PSR

    1.5K20发布于 2019-11-28
  • 来自专栏mousemin

    PSR-1 基础编码规范

    常量等),或引起副作用(如果一个函数修改了自己范围之外的资源,那就叫做有副作用,如:生成输出以及修改 .ini 配置文件等),但是不应该二者都有 命名空间以及类 必须 符合 PSR 的自动加载规范: [PSR 命名空间和类名 命名空间和类名 必须 遵循 [自动加载] 规范: [PSR-0, PSR-4]。

    51820编辑于 2023-06-10
领券