webpenson, 20 十月, 2021

Autoloader

关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、
“将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT")、
“推荐”("RECOMMENDED")、“可以”("MAY")和”可选“("OPTIONAL")的详细描述可参见 [RFC 2119][] 。

1. 概述

本 PSR 是关于由文件路径 自动载入 对应类的相关规范,
本规范是可互操作的,可以作为任一自动载入规范的补充,其中包括 PSR-0,此外,
本 PSR 还包括自动载入的类对应的文件存放路径规范。

2. 详细说明

  1. 此处的“类”泛指所有的class类、接口、traits可复用代码块以及其它类似结构。

  2. 一个完整的类名需具有以下结构:

webpenson, 20 十月, 2021

日志接口规范

本文制定了日志类库的通用接口规范。

本规范的主要目的,是为了让日志类库以简单通用的方式,通过接收一个 Psr\Log\LoggerInterface 对象,来记录日志信息。
框架以及CMS内容管理系统如有需要,可以对此接口进行扩展,但需遵循本规范,
这才能保证在使用第三方的类库文件时,日志接口仍能正常对接。

关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、
“将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT")、
“推荐”("RECOMMENDED")、“可以”("MAY")和”可选“("OPTIONAL")的详细描述可参见 RFC 2119 。

本文中的 实现者 指的是实现了 LoggerInterface 接口的类库或者框架,反过来讲,他们就是 LoggerInterface使用者

webpenson, 20 十月, 2021

代码风格规范

本篇规范是 PSR-1 基本代码规范的继承与扩展。

本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。

当多名程序员在多个项目中合作时,就需要一个共同的编码规范,
而本文中的风格规范源自于多个不同项目代码风格的共同特性,
因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。

关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、
“将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT")、
“推荐”("RECOMMENDED")、“可以”("MAY")和”可选“("OPTIONAL")的详细描述可参见 [RFC 2119][] 。

1. 概览

  • 代码必须遵循 PSR-1 中的编码规范 。

  • 代码必须使用4个空格符而不是 tab键 进行缩进。

webpenson, 20 十月, 2021

基本代码规范

本篇规范制定了代码基本元素的相关标准,
以确保共享的PHP代码间具有较高程度的技术互通性。

关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、
“将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT")、
“推荐”("RECOMMENDED")、“可以”("MAY")和”可选“("OPTIONAL")的详细描述可参见 RFC 2119 。

1. 概览

  • PHP代码文件必须<?php<?= 标签开始;

  • PHP代码文件必须不带BOM的 UTF-8 编码;

webpenson, 18 十月, 2021

Composer PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。

系统需求:

Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的情况。比如PHP的扩展的要求是,安装或重新编译php without –disable-phar

安装Composer

Composer需要PHP 5.3.2+才能运行。

webpenson, 18 十月, 2021

使用Vscode的GitLens — Git supercharged插件操作git

从正式学习git到现在,一直用的是Git Bash Here自己虽然安装了vscode的git插件,但是每次打开都会报错,今天特意翻译了一下,发现是没有给vscode配置git软件的路径----怪不得!
参考这篇文档,找到了方法,虽然不一样,但只要把那两行路径给加上,就行了
1.要想在VS Code里面使用Git需要在编辑器内配置git.path
把git.path的地址改成你安装的git地址里面的bin文件夹下的git.exe
如图:
在这里插入图片描述
2.VSCode中Git的使用以及Github的免密上传

webpenson, 18 十月, 2021

变量 $this 代表自身的对象。

PHP_EOL 为换行符。

webpenson, 18 十月, 2021

在面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象。

在现实世界里我们所面对的事情都是对象,如计算机、电视机、自行车等。

对象的主要三个特性:

  • 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为。
  • 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型。
  • 对象的表示:对象的表示就相当于身份证,具体区分在相同的行为与状态下有什么不同。  ??

比如 Animal(动物) 是一个抽象类,我们可以具体到一只狗跟一只羊,而狗跟羊就是具体的对象,他们有颜色属性,可以写,可以跑等行为状态。

面向对象内容

  • − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。

  • 对象 − 是类的实例。

webpenson, 18 十月, 2021

预期学习目标

  • 重构:改善既有代码的设计
  • 代码简洁之道
  • 程序员修炼之道
  • 设计模式
  • 写代码总结四本书的学习心得

语法糖

  • 可变数量的参数列表

类似与 func_get_args()