当前位置:首页 » 编程语言 » phppsr

phppsr

发布时间: 2022-09-23 13:06:59

php的PSR系列规范都有啥内容,phppsr规范有啥

就是个死规范,个人感觉那些规范实在是太规范了,什么还不能用tab的,还得空格按两下才行,谁开发要那么麻烦,我干三年了都没用过那么麻烦的,thinkphp自带的函数库也没那规范

㈡ php是如何引入PSR规范

PSR规范只是一套规范,你可以按规范来编码也可以不按规范来编码。
如果说是“引入”这个词的话,那只有IDE的PSR规范检查功能称的上所谓的“引入”。你用的IDE打开PSR规范检查后,你敲代码的时候会自动对你的代码是否符合规范进行检查。
每个IDE不同,有些已经集成了,只需要打开。有些则需要装扩展。

㈢ psr 什么意思

简单来说psr就是规范了PHP开发的编码风格,进行统一规范!

PSR 是 PHP Standard Recommendations 的简写,由PHP FIG组织制定的 PHP 规范,是 PHP 开发的实践标准。
PHP FIG,FIG 是 Framework Interoperability Group(框架可互用性小组)的缩写,由几位开源框架的开发者成立于 2009 年,从那开始也选取了很多其他成员进来(包括但不限于Laravel, Joomla, Drupal, Composer, Phalcon, Slim, Symfony, Zend Framework等),虽然不是“官方”组织,但也代表了大部分的 PHP 社区。
项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定一个协作标准,各个框架遵循统一的编码规范,避免各家自行发展的风格阻碍了 PHP 的发展,解决这个程序设计师由来已久的困扰。
目前已表决通过了 6 套标准,已经得到大部分 PHP 框架的支持和认可。

㈣ 如何判断php 代码写的符合 psr

PHP代码文件必须以 <?php 或 <?= 标签开始;
PHP代码文件必须以 不带BOM的 UTF-8 编码;
PHP代码中应该只定义类、函数、常量等声明,或其他会产生 从属效应 的操作(如:生成文件输出以及修改.ini配置文件等),二者只能选其一;
命名空间以及类必须符合 PSR 的自动加载规范:PSR-0 或 PSR-4 中的一个;
类的命名必须遵循 StudlyCaps 大写开头的驼峰命名规范;
类中的常量所有字母都必须大写,单词间用下划线分隔;
方法名称必须符合 camelCase 式的小写开头驼峰命名规范。

㈤ 有效提高ThinkPHP的应用性能的几点建议

架构优化涉及到技术、存储、网络、服务的选型和构架,尽量使用成熟和现代的开发架构和设计模式。前后端完全分离设计,便于前后端的独立优化,也更加便于测试工作。

如果你的应用遇到了性能瓶颈,这个时候要考虑的就是优化架构而不是优化代码本身,因为架构层面的优化效果往往是最显着的。

架构的优化需要根据自身运营情况来调整,切忌不可按图索骥提前优化,反而容易得不偿失,导致技术成本提高甚至“负优化”

部署环境千万不要忘记关闭调试模式,这不仅仅是出于性能考虑,更多是基于安全因素。事实上,建议通过环境变量来配置关闭调试模式,这样部署后不需要更改任何配置文件。

因为调试模式影响日志记录信息、额外的调试信息和缓存失效,关闭调试模式能够带来一定的性能提升

使用多模块功能会增加文件的 I/O 开销和额外的配置及检查,如非必要在规划你的应用架构的时候尽量考虑使用单一模块,然后使用控制器分级来解决控制器过多的问题。

使用单一模块的性能优势,在部署到 swoole 的时候可以得到更加充分的体现,因为应用文件一旦启动服务,就会载入内存,而模块的相关文件则会每次请求重新加载。

在定义路由规则的时候,不要使用数组方式,尽量使用方法注册路由,并且多使用路由分组(或者资源路由)。分组路由可以减少路由的匹配次数,从而提升路由性能。如果你有多个域名的不同路由,也要按域名规划使用路由。

尽可能设计在路由中进行当前路由的数据验证和权限检查等操作,一方面比较清晰,另外一方面可以尽量把验证操作提前,而不必等到控制器执行。

在分组比较多的情况下,开启路由的延迟解析。

如果同一个分组下面有比较多的路由规则,建议合并路由规则

对于 GET 请求的路由,可以设置路由的请求缓存。

部署阶段,可以开启路由缓存。

首先保持良好的开发习惯,了解 Db类和模型的正确使用姿势 ,数据库本身的性能优化可以参考 MySQL性能优化的最佳21条经验 ,下面主要是对框架中数据查询相关的优化策略。

尽量减少每次请求的查询次数,并对实时性要求不高的数据查询合理规划数据查询缓存(优先考虑使用 Redis 缓存)

如果使用了关联查询, cache 方法只能用于主模型的数据缓存,但你可以使用 Cache 类的 remember 方法进行方便的数据缓存。

尽量减少查询次数是出于性能考虑,但不是必须,使用最少的查询不代表性能就一定是最高。一个复杂的 JOIN 查询性能不见得有两次简单的查询高,而使用简单的查询反而更清晰易懂,并且更方便进行数据查询缓存。

不要总是以为模型的性能一定比 Db 类低,框架的ORM查询设计经过了较为合理的优化,正确使用模型一样可以有出色的性能,而且比 Db 查询要方便很多。

尤其是对于一些复杂的设计来说使用模型关联显得比直接用Db更加简单,例如使用关联预载入查询就可以避免 N+1 查询问题。

如果用 Db 类自己实现的话,费时费力,性能还不一定优。

对于内存开销比较大的应用,在做大量数据查询和处理的时候,使用 cursor 方法,可以利用PHP的生成器特性,减少内存占用。

你会发现用户数据不论是1万还是10万级别,内存开销并没有大的变化。

涉及到对大量数据的处理,包括数据迁移、批量更新,尽量使用命令行指令运行,否则会因为超时而中断

可以通过数据集的方法完成的子集或者排序操作不要再次查询,例如:

利用下面指令在部署后生成字段缓存,可以减少每次数据表的字段查询开销。

注意:一旦数据库的表结构发生变化,必须重新生成。

每次在应用初始化或者模块初始化的时候会有一定的 I/O 开销,如果已经开启 OpCache 的话对性能影响甚微,如果比较在意的也可以通过命令行指令生成配置缓存(包括相关的公共文件和各种定义文件)。

生成应用配置缓存:

生成模块配置缓存:

注意:一旦配置或者公共文件发生变化,必须重新生成。

类库映射可以提升类库的自动加载性能,使用下面的指令可以生成系统类库和应用类库的类库映射(包括 extend 目录下的类库)。

vendor 目录下的类库可以使用 composer 的 mp-autoload 指令优化加载性能。

该命令把 PSR-0 和 PSR-4 转换为一个类映射表,来提高类的加载速度。

㈥ 怎么设置phpstorm 使代码自动遵循psr规范

PhPStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。Phpstrom的一款名为Magicento的插件对快速创建Magento插件十分有用。
常用快捷键
设置快捷键:File -> Settings -> IDE Settings -> Keymap -> 选择“eclipse” -> 然后“Copy”一份 -> 再个性化设置(自己习惯的)快捷键
常用快捷键(keymaps:Default情况下)
Esc键编辑器(从工具窗口)
F1 帮助 千万别按,很卡!
F2(Shift+F2) 下/上高亮错误或警告快速定位
F3 向下查找关键字出现位置
F4 查找变量来源
F5 复制文件/文件夹
F6 移动
F11 切换书签
F12 返回到以前的工具窗口
注意:部分快捷键,必须在没有更改快捷键的情况下才可以使用
查询快捷键
CTRL+N 查找类
CTRL+SHIFT+N 查找文件,打开工程中的文件(类似于eclipse中的ctrl+shift+R),目的是打开当前工程下任意目录的文件
CTRL+SHIFT+ALT+N 查 找类中的方法或变量(JS)
CIRL+B 找变量的来源,跳到变量申明处
CTRL+ALT+B 找所有的子类
CTRL+SHIFT+B 找变量的 类
CTRL+G 定位行,跳转行
CTRL+F 在当前窗口查找文本
CTRL+SHIFT+F 在指定路径查找文本
CTRL+R 当前窗口替换文本
CTRL+SHIFT+R 在指定路径替换文本
ALT+SHIFT+C 查找修改的文件,最近变更历史
CTRL+E 最近打开的文件
F3 查找下一个
SHIFT+F3 查找上一个
F4 查找变量来源
CTRL+ALT+F7 选 中的字符 查找工程出现的地方
ALT+F7 直接查询选中的字符
Ctrl+F7 文件中查询选中字符
自动代码
ALT+回车 导入包,自动修正
CTRL+ALT+L 格式化代码
CTRL+ALT+I 自动缩进
CTRL+ALT+O 优化导入的类和包
CTRL+E 最近更改的文件/代码
CTRL+SHIFT+SPACE 切换窗口
CTRL+SPACE空格 代码自动完成,代码提示,一般与输入法冲突
CTRL+ALT+SPACE 类 名或接口名提示(与系统冲突)
CTRL+P 方法参数提示,显示默认参数
CTRL+J 自动代码提示,自动补全
CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
复制快捷方式
F5 复制文件/文件夹
CTRL+C 复制
CTRL+V 粘贴
CTRL+X 剪 切,删除行
CTRL+D 复制行
Ctrl + Y 删除行插入符号
CTRL+SHIFT+V 可以复制多个文本
高亮
CTRL+F 选中的文字,高亮显示 上下跳到下一个或者上一个
F2(Shift+F2) 高亮错误或警告快速定位
SHIFT+F2 高亮错误或警告快速定位
CTRL+SHIFT+F7 高亮显示多个关键字.
本地历史VCS/SVN
Alt +反引号(') 快速弹出VCS菜单
Ctrl + K 提交项目VCS
Ctrl + T 更新项目从VCS
Alt + Shift + C 查看最近发生的变化
其他快捷方式
CTRL+Z 倒退(代码后悔)
CTRL+SHIFT+Z 向前
CTRL+H 显 示类结构图
Ctrl +F12 文件结构弹出
Ctrl+Shift+H 方法的层次结构
Ctrl+Alt+H 呼叫层次
CTRL+Q 显示代码注释
CTRL+W 选中代码,连续按会 有其他效果
Ctrl+Shift+W 减少当前选择到以前的状态
CTRL+B 转到声明,快速打开光标处的类或方法说明注释(CTRL + 鼠标单击 也可以)
CTRL+O 魔术方法
CTRL+/ 注释//取消注释
CTRL+SHIFT+/ 注释/*...*/
CTRL+ [] 光标移动到 {}[]开头或结尾位置
CTRL+SHIFT+[] 选中块代码,可以快速复制
ctrl + '-/+': 可以折叠项目中的任何代码块,包括htm中的任意nodetype=3的元素,function,或对象直接量等等。它不是选中折叠,而是自动识别折叠。
ctrl + '.': 折叠选中的代码的代码
Ctrl+Shift+U 选中的字符大小写转换
ctrl+shift+i 快速查看变量或方法定义源
CTRL+ALT+F12 资源管理器打开文件夹,跳转至当前文件在磁盘上的位置
ALT+F1 选择当前文件或菜单中的任何视图工具栏
SHIFT+ALT+INSERT 竖编辑模式
CTRL+ALT ←/→ 返回上次编辑的位置
ALT+ ←/→ 切换代码视图,标签切换
ALT+ ↑/↓ 在方法间快速移动定位
alt + '7': 显示当前的类/函数结构。类似于eclipse中的outline的效果。试验了一下,要比aptana的给力一些,但还是不能完全显示prototype下面的方法名。
SHIFT+F6 重命名,重构 当前区域内变量重命名/重构
不但可以重命名文件名,而且可以命名函数名,函数名可以搜索引用的文件,还可以重命名局部变量。还可以重命名标签名。在sublime text中有个类似的快捷键:ctrl+shift+d。
ctrl+shift+enter(智能完善代码 如 if())
ctrl+shift+up/down(移动行、合并选中行,代码选中区域 向上/下移动)
CTRL+UP/DOWN 光标跳转到编辑器显示区第一行或最后一行下
ESC 光标返回编辑框
SHIFT+ESC 光 标返回编辑框,关闭无用的窗口
CTRL+F4 关闭当前的编辑器或选项卡
Ctrl + Alt + V引入变量
Ctrl + Alt + F 类似引入变量
Ctrl + Alt + C引入常量
Ctrl + Tab 键切换选项卡和工具窗口
Ctrl + Shift + A 查找快捷键
Alt + #[0-9] 打开相应的工具窗口
Ctrl + Shift + F12 切换最大化编辑器
Alt + Shift + F 添加到收藏夹
Alt + Shift + I 检查当前文件与当前的配置文件
Ctrl +反引号(`) 快速切换目前的配色/代码方案/快捷键方案/界面方案
Ctrl + Alt + S 打开设置对话框(与QQ冲突)
运行
Alt + Shift + F10 选择的配置和运行
Alt + Shift + F9 选择配置和调试
Shift + F10 运行
Shift + F9调试
Ctrl + Shift + F10运行范围内配置编辑器
Ctrl + Shift + X运行命令行
调试
F8步过
F7步入
Shift + F7智能进入
Shift + F8步骤
ALT + F9运行到光标
Alt + F8计算表达式
F9恢复程序
Ctrl + F8切换断点
Ctrl + Shift + F8查看断点
导航
Shift + Esc键隐藏活动或最后一个激活的窗口
Ctrl + Shift + F4关闭活动运行/消息/ / ...选项卡
Ctrl + Shift + Backspace键导航到最后编辑的位置
Ctrl + Alt+B 到实施(S)
Ctrl + Shift+I 打开快速定义查询
Ctrl + U 转到super-method/super-class
Alt + Home 组合显示导航栏
书签
Ctrl + F11切换书签助记符
Ctrl +#[0-9]转到编号书签
Shift + F11显示书签
编辑
Ctrl + Q 快速文档查询
ALT + INSERT 生成的代码...器(getter,setter方法,构造函数)
Ctrl + O 覆盖方法
Ctrl + I 实现方法
Alt + Enter 显示意图的行动和快速修复
Shift + Tab 键缩进/取消缩进选中的行
Ctrl + Shift + J 智能线连接(仅适用于HTML和JavaScript)
Ctrl + Enter 智能线分割(HTML和JavaScript)
Shift + Enter 开始新的生产线
Ctrl + Delete 删除字(word)
Ctrl + Backspace删除字开始
Ctrl +小键盘+ / - 展开/折叠代码块
Ctrl + Shift +小键盘+展开全部
Ctrl + Shift +数字键盘关闭全部

㈦ php eclipse怎么开发PSR-0

在PHP5里面找到php.ini,在这个文件的最后面加入如下配置信息:

[xhtml] view plain
[Xdebug]
zend_extension_ts="C:/Program Files/phpStudy/PHP5/ext/php_xdebug.dll"

xdebug.auto_trace = On

xdebug.show_exception_trace = On

xdebug.remote_autostart = On

xdebug.remote_enable = On

xdebug.remote_host = 127.0.0.1

xdebug.remote_port = 9000

xdebug.remote_handler = dbgp

xdebug.profiler_enable = on

xdebug.profiler_output_dir="C:/Program Files/phpStudy/PHP5/log"

[xhtml] view plain
[Xdebug]
zend_extension_ts="C:/Program Files/phpStudy/PHP5/ext/php_xdebug.dll"

xdebug.auto_trace = On

xdebug.show_exception_trace = On

xdebug.remote_autostart = On

xdebug.remote_enable = On

xdebug.remote_host = 127.0.0.1

xdebug.remote_port = 9000

xdebug.remote_handler = dbgp

xdebug.profiler_enable = on

xdebug.profiler_output_dir="C:/Program Files/phpStudy/PHP5/log"

这里要特别注意:如果在文件里有其他的zend_extension_ts,需要注释掉,否则apache无法启动。

㈧ psr是什么意思

1、PSR是plan of speed reading的缩写,就是快速阅读计划,快速阅读计划在中国称做全脑速读。

2、PSR,Point of safety return,中文全称“安全折返点”,往南极的飞机到这个点,汽油刚好用掉了一半,这时回头还可以安全降落,一旦越过这个点,就没有回头的机会,只能一直往南极飞去。

3、PSR即Periodic Safety Review,对在运核电站现状的定期审查,是国家核安全局对在运核电站现状的一个定期审查,其可通过法规HAD102进行。

4、化学反应,全称Perfectly Stirred Reactor,中文表述为完全搅拌的全混流反应器,该反应器是一个在控制容积内达到完全混合的理想反应器。

5、原边反馈(PSR)的AC/DC控制技术是最近10年间发展起来的新型AC/DC控制技术,与传统的副边反馈的光耦加431的结构相比,其最大的优势在于省去了这两个芯片以及与之配合工作的一组元器件,这样就节省了系统板上的空间,降低了成本并且提高了系统的可靠性。



6、PSR是PHP Standard Recommendations的简写,由PHP FIG组织制定的PHP规范,是PHP开发的实践标准。

㈨ php psr 一个方法最多多少行代码

PSR-0 (Autoloading Standard) 自动加载标准
PSR-1 (Basic Coding Standard) 基础编码标准
PSR-2 (Coding Style Guide) 编码风格向导
PSR-3 (Logger Interface) 日志接口
PSR-4 (Improved Autoloading) 自动加载的增强版,可以替换掉PSR-0了。

㈩ php使用了composer之后 还需要自己写autoload方法吗

composer已经帮你生成了一个loader,就不用自己写加载器了
/vendor/composer目录下会包含autoload_real.php文件
主要用来依次按照psr-4/psr-0/classmap/files四个标准来实现命名空间和文件路径的映射
当然目前主要是psr-4标准文件是autoload_psr4.php,psr-0标准要被淘汰了。
看/vendor/composer目录下文件源码发现,把加载的路径数据依次放在ClassLoader对象的私有变量里,通过$loader->register(true)其实就是用spl_register_autoload()来做的。

热点内容
长安unit卓越版有哪些配置 发布:2025-01-10 11:25:25 浏览:99
python安装后怎么打开 发布:2025-01-10 11:08:35 浏览:871
phpjava架构 发布:2025-01-10 10:56:06 浏览:383
python二维排序 发布:2025-01-10 10:56:00 浏览:607
南水北调怎么配置 发布:2025-01-10 10:55:27 浏览:121
广数980系统参数密码是多少 发布:2025-01-10 10:55:25 浏览:577
androidhtml字体 发布:2025-01-10 10:55:01 浏览:787
数据库连接工厂模式 发布:2025-01-10 10:51:00 浏览:488
mac文件夹路径设置 发布:2025-01-10 10:48:12 浏览:803
shell脚本自动密码 发布:2025-01-10 10:46:29 浏览:766