发布时间:2024-06-24
浏览次数:0
翻译
PHP 之道已被翻译成多种语言:
如何贡献
帮助我们将本网站打造成 PHP 新手的最佳资源!贡献
晋升
您可以通过在您的网站上放置 PHP Tao 横幅来支持我们,以便新的 PHP 用户知道在哪里可以获得好的信息!
广告横幅
回到顶部
入门指南使用当前稳定版本(5.6)
如果您刚开始学习 PHP,请使用最新的稳定版本 PHP 5.6。近年来,PHP 取得了巨大进步,增加了许多强大的新功能。虽然 5.2 和 5.6 之间的版本号增加似乎很小,但它代表了显着的改进。如果您想查找某个函数及其用法,您可以在 php.net 的官方手册中找到它。
内置 Web 服务器
在 PHP 5.4 之后,您无需安装和配置功能齐全的 Web 服务器即可开始学习 PHP。要启动内置 Web 服务器,您需要从命令行终端转到项目的 Web 根目录并执行以下命令:
> php -S localhost:8000
Mac 安装
OS X 系统会预装 PHP,但一般版本会低于最新稳定版,目前 Lion 有 5.3.10、5.4.17、5.5.9sublime text 2 php插件,但在 PHP 5.6 出来之后,这些往往不够用。
有多种方法可以在 OS X 上安装 PHP。
通过安装 PHP
它是一个功能强大的 OS X 包管理器,可以帮助您轻松安装 PHP 和各种扩展。PHP 是一个包含与 PHP 相关的存储库,允许您安装 PHP。
即你可以通过 brew 命令安装 php53、php54、php55 或者 php56,然后通过修改 PATH 变量来切换版本,或者使用 brew-php- 来实现自动切换。
通过安装 PHP
它是一个开源的、社区驱动的项目,其目标是设计一个易于使用的系统,用于在 OS X 系统上编译、安装和升级基于 -line、X11 或 Aqua 的开源软件。
支持预编译的二进制文件,因此您不必每次都从源 重新编译,如果您的系统没有安装这些软件包,这将为您节省大量时间。
此时可以通过端口命名来安装php53、php54、php55或者php56,例如:
sudo port install php54
sudo port install php55
也可以执行命令来切换当前的PHP版本:
sudo port select --set php php55
通过安装 PHP
它是一个用于安装和管理多个 PHP 版本的工具。当您的应用程序或项目需要不同版本的 PHP 时,它非常有用,因此您不再需要使用虚拟机来处理这些情况。
通过 Liip 安装 PHP
php-osx.liip.ch 是另一个受欢迎的选择,它提供从 5.3 到 5.6 的单行安装。它不会覆盖 Apple 集成的 PHP 文件,而是将它们安装在单独的目录中 (/usr/local/php5)。
源代码编译
另一种可以让你控制所安装 PHP 版本的选项是自行编译。如果使用此方法,你必须首先确认已经通过 Apple 的 Mac 下载并安装了 Xcode 或 Line Tools for XCode。
一体
上面列出的解决方案主要针对 PHP 本身,并不包括例如 Nginx 或 SQL 服务器。MAMP、XAMPP 等集成包会安装这些软件并将它们捆绑在一起,但安装的便捷性也牺牲了一定的灵活性。
安装
您可以从 .php.net/ 下载二进制包,解压后最好将 PATH 设置为您的 PHP 根目录(php.exe 所在的文件夹),这样就可以直接从命令行执行 PHP。
安装 PHP 有多种方法。您可以下载二进制安装包并使用 .msi 安装程序。从 PHP 5.3.0 开始,此安装程序将不再可供下载。
如果你只是在本地学习或开发,那么可以直接使用 PHP 5.4+ 自带的 Web 服务器,可以省去配置服务器的麻烦。如果你想要一个包含 Web 服务器和 MySQL 的集成包,Web、XAMPP、WAMP 等工具会帮助你快速搭建开发环境。不过这些工具与线上环境会略有不同,如果你是线上开发,生产环境部署到 Linux 上,请慎重。
如果您需要在 IIS7 上部署生产环境,那么 IIS7 将提供最稳定和最佳性能。您可以使用(IIS7 的图形化插件)轻松设置和管理 PHP。IIS7 也内置了,您只需要将 PHP 配置为其处理器即可。有关更多详细信息,请参阅 iis.net 上的区域。
回到顶部
编码风格指南
PHP 社区拥有丰富的库、框架和组件。PHP 开发人员经常在他们的项目中使用多个外部库,因此 PHP 代码遵循(尽可能接近)相同的编码风格非常重要,这允许开发人员轻松地将多个代码库集成到他们的项目中。
PHP 标准组提出并发布了一系列风格建议,其中有一些是关于编码风格的,分别是 PSR-0、PSR-1、PSR-2 和 PSR-4。这些建议只是其他项目遵循的一些规则,例如 Zend、、phpBB、AWS SDK、等。你可以在自己的项目中使用这些规则,也可以继续使用自己的风格。
通常,您应该按照已知标准编写 PHP 代码。这可能是 PSR 的组合,也可能是 PEAR 或 Zend 编码指南之一。这意味着其他开发人员可以轻松阅读和使用您的代码,并且使用这些组件的应用程序可以与其他第三方组件保持一致。
您可以使用来检查您的代码是否符合这些准则,文本编辑器Text插件也可以提供实时检查。
你可以使用两个工具来自动修复你的程序语法,使它符合标准。一个是 PHP Fixer,它有很好的测试。另一个工具是 php.tools,它是一个非常流行的 text-,虽然它比较新,但性能有了很大的提升,这意味着实时语法修复会更顺畅。
您也可以手动运行 phpcs 命令:
phpcs -sw --standard=PSR2 file.php
它会显示相应的错误以及如何修复它们。同样,此命令也可以在git hooks中使用,如果你的分支代码不符合所选的代码标准,则无法提交。
建议所有变量名和代码结构都用英文书写。注释可以使用任何语言,只要方便当前和未来的同事阅读和理解即可。
回到顶部
语言亮点编程范式
PHP 是一种灵活的动态语言,支持多种编程技术。多年来,它一直在不断发展,里程碑包括添加了全面面向对象模型的 PHP 5.0(2004 年)、添加了匿名函数和命名空间的 PHP 5.3(2009 年)以及添加了命名空间的 PHP 5.4(2012 年)。
面向对象编程
PHP 具有完整的面向对象编程特性,包括类、抽象类、接口、继承、构造函数、克隆和异常。
函数式编程
PHP 将函数视为“一等公民”,也就是说,函数可以赋值给变量,包括用户定义或内置函数,然后动态调用。函数可以作为参数传递给其他函数(称为高阶函数),也可以作为函数返回值返回。
PHP 支持递归,即函数调用自身,但大多数 PHP 代码使用迭代。
自 PHP 5.3(2009)以来,引入了对闭包和匿名函数的支持。
PHP 5.4 增加了将闭包绑定到对象作用域的功能,并提高了其可调用性,使得大多数情况下可以使用匿名函数代替常规函数。
元编程
PHP 可以通过反射 API 和魔术方法以各种方式实现元编程。开发人员可以通过 __get()、__set()、()、()、() 等魔术方法来改变类的行为。Ruby 开发人员经常说 PHP 没有方法,但实际上,通过 () 和 () 也可以实现同样的功能。
命名空间
前面提到过,PHP 社区中有很多由很多开发者开发的代码,这就意味着一个库的 PHP 代码可能在另一个库中使用相同的类名,如果它们使用相同的命名空间,就会出现冲突和异常。
命名空间解决了这个问题。正如 PHP 手册中所述,命名空间就像操作系统中的目录。两个同名文件可以共存于不同的目录中。同样,两个同名的 PHP 类可以共存于不同的 PHP 命名空间中。就这么简单。
因此将代码放在自己的命名空间中非常重要,以避免其他开发人员担心与第三方库的冲突。
PSR-4 提供了一种命名空间的推荐使用方式,它提供了标准的文件、类、命名空间的使用约定,让代码可以即插即用。
2014 年 10 月,PHP-FIG 放弃了之前的自动加载标准:PSR-0,并采用了新的自动加载标准 PSR-4。不过 PSR-4 要求 PHP 5.3 以上版本,而很多项目仍在使用 PHP 5.2,因此目前两种版本都可以使用。如果你在新的应用程序或扩展包中使用自动加载标准,则应优先使用 PSR-4。
PHP 标准库
PHP 标准库(SPL)随 PHP 发布,提供了一组类和接口,其中包含了常用的数据结构类(堆栈、队列、堆等),以及用于遍历这些数据结构的迭代器,或者也可以自行实现 SPL 接口。
命令行界面
PHP 是为开发 Web 应用程序而创建的,但其命令行脚本界面 (CLI) 也非常有用。PHP 命令行编程可以帮助您自动执行测试、部署和应用程序管理等任务。
CLI PHP 编程功能非常强大,你可以直接调用自己的程序代码,而不需要创建 Web 图形界面。需要注意的是,不要将 CLI PHP 脚本放在公共的 Web 目录中!
从命令行运行 PHP:
> php -i
-i 选项将打印 PHP 配置,类似于 () 函数。
-a 选项除了提供许多其他有用的命令行选项外,还提供了一个交互式 shell,类似于 Ruby 的 IRB 或 的交互式 shell。
接下来,我们来编写一个简单的“Hello, $name”CLI 程序。首先,创建一个名为 hello.php 的脚本:
if($argc != 2) {
echo "Usage: php hello.php [name].\n";
exit(1);}$name = $argv[1];echo "Hello, $name\n";
PHP 在脚本运行时会根据参数设置两个特殊变量。$argc 是一个整数,表示参数的数量;$argv 是一个数组变量,包含每个参数的值。它的第一个元素始终是 PHP 脚本的名称,例如本例中的 hello.php。
当命令失败时,可以使用 exit() 表达式返回一个非零整数来通知 shell。常见退出返回代码可在列表中找到。
要运行上述脚本,请在命令行中输入以下命令:
> php hello.php
Usage: php hello.php [name]
> php hello.php world
Hello, world
合适的调试器是软件开发中最有用的工具之一,它允许您跟踪程序执行结果并监视程序堆栈中的信息。 是一个 PHP 调试器,可用于在许多 IDE(集成开发环境)中进行断点调试和堆栈检查。它还可以进行代码覆盖率检查或程序性能跟踪,就像和一样。
如果你还在使用()/()调试sublime text 2 php插件,你经常会发现自己陷入困境,仍然找不到解决办法。这时候你就应该使用调试器了。
安装可能很麻烦,但最重要的功能之一是远程调试 - 如果您在本地开发并在虚拟机或其他服务器上测试,远程调试可能是您想要的。
通常,您将需要在您的 VHost 或中修改这些值。
php_value xdebug.remote_host=192.168.?.?php_value xdebug.remote_port=9000
“host”和“port”项对应的是你本地开发机器监听的地址和端口。然后将你的IDE设置为“for”模式,并访问URL:
http://your-website.example.com/index.php?XDEBUG_SESSION_START=1
你的IDE会拦截当前正在执行的脚本,运行你设置的断点并查看内存中的值。
图形调试器可让您轻松单步执行代码、变量,甚至运行时代码。许多 IDE 都内置或插件支持图形调试器。例如,是一款适用于 Mac 的免费开源独立调试器。
回到顶部
依赖管理
PHP 有许多可用的库、框架和组件。通常您的项目会使用其中的几个 - 这些是项目的依赖项。直到最近,PHP 还没有很好的方法来管理这些项目依赖项。即使您手动管理它们,您仍然需要担心自动加载器。但现在这不再是问题。
目前,PHP 使用的包管理系统有两种:PHP 和 PEAR。PHP 是 PHP 使用的主要包管理器,但长期以来,PEAR 一直扮演着这一角色。您应该知道 PEAR 是什么,因为即使您从未使用过它,也可能遇到过对它的引用。
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码