本站用的是wordpress,其中围棋功能是由php写的。
本文写给像我一样,有其他语言开发经验,想对php有个快速了解的人。
目录:
php简介及入门hello world
php环境安装
php初学者学习路线
php开发工具ide
php的流行框架ThinkPHP介绍
PHP 简介
php入门hello world
<!DOCTYPE html> <html> <body> <?php echo "Hello World!"; ?> </body> </html>
表单处理
第一个表单:
<form action="action.php" method="post"> <p>姓名: <input type="text" name="name" /></p> <p>年龄: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form>
action.php页内容:(htmlspecialchars — 将特殊字符转换为 HTML 实体)
你好,<?php echo htmlspecialchars($_POST['name']); ?>。 你 <?php echo (int)$_POST['age']; ?> 岁了。
输出:
你好,Joe。你 22 岁了。
PHP 是服务器端脚本语言。
您应当具备的基础知识
在继续学习之前,您需要对以下知识有基本的了解:
- HTML
- CSS
PHP 是什么?
- PHP(全称:PHP:Hypertext Preprocessor,即”PHP:超文本预处理器”)是一种通用开源脚本语言。
- PHP 脚本在服务器上执行。
- PHP 可免费下载使用。
PHP 对初学者而言简单易学。PHP 也为专业的程序员提供了许多先进的功能。 |
PHP 文件是什么?
- PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
- PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
- PHP 文件的默认文件扩展名是 “.php”
PHP 能做什么?
- PHP 可以生成动态页面内容
- PHP 可以创建、打开、读取、写入、关闭服务器上的文件
- PHP 可以收集表单数据
- PHP 可以发送和接收 cookies
- PHP 可以添加、删除、修改您的数据库中的数据
- PHP 可以限制用户访问您的网站上的一些页面
- PHP 可以加密数据
通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。
为什么使用 PHP?
- PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
- PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
- PHP 提供了广泛的数据库支持
- PHP 是免费的,可从官方的 PHP 资源下载它: www.php.net
- PHP 易于学习,并可高效地运行在服务器端
PHP 安装
您需要做什么?
为了开始使用 PHP,您可以:
- 找一个支持 PHP 和 MySQL 的 Web 主机
- 在您自己的 PC 机上安装 Web 服务器,然后安装 PHP 和 MySQL
使用支持 PHP 的 Web 主机
如果您的服务器支持 PHP,那么您不需要做任何事情。
只要在您的 web 目录中创建 .php 文件即可,服务器将自动为您解析这些文件。
您不需要编译任何软件,或安装额外的工具。
由于 PHP 是免费的,大多数的 Web 主机都提供对 PHP 的支持。
在您自己的 PC 机上建立 PHP
然而,如果您的服务器不支持 PHP,您必须:
- 安装 Web 服务器
- 安装 PHP
- 安装数据库,比如 MySQL
官方 PHP 网站(PHP.net)有 PHP 的安装说明: http://php.net/manual/en/install.php
PHP 服务器组件
对于初学者建议使用集成的服务器组件,它已经包含了 PHP、Apache、Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程。
WampServer
Windows 系统可以使用 WampServer,下载地址:http://www.wampserver.com/,支持32位和64位系统,根据自己的系统选择版本。
WampServer 安装也简单,你只需要一直点击 “Next” 就可以完成安装了。
XAMPP
XAMPP 支持 Mac OS 和 Windows 系统,下载地址:https://www.apachefriends.org/zh_cn/index.html。
IDE (Integrated Development Environment,集成开发环境)
Eclipse for PHP(免费)
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台(如果未安装JDK,则需要先 下载 JDK 安装)。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
支持 Windows、Linux 和 Mac OS 平台。
eclipse下载与安装
https://www.tianqiweiqi.com/eclipse-down-install.html
Eclipse for PHP 官方下载地址:http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr
PhpStorm(收费)
PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。
PhpStorm 非常适合于PHP开发人员及前端工程师。提供诸于:智能HTML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。
支持 Windows、Linux 和 Mac OS 平台。
PhpStorm 官方下载地址:http://www.jetbrains.com/phpstorm/download/
在 Cloud Studio 中运行 PHP 程序
PHP 是一种运行在服务端的开源,解释和面向对象的脚本语言。由于是解释型语言、不需要编译,因此比其他语言编写脚本更快。并且具有开源、独立平台、兼容性、嵌入式脚本等特点,越来越多的被用于 Web 开发。大多数情况下,运行在服务端的 PHP 脚本要依赖 Apache、Nginx 这样的 Web 服务器来运行。但在这里我向你推荐一个更方便的开发环境:运用基于腾讯云主机的在线云端开发工具 Cloud Studio + PHP 内置的 Web 服务器 来快速开始你的 PHP 项目。
- step1:访问 腾讯云开发者平台,注册/登录账户。
- step2:在右侧的运行环境菜单选择:
"PHP 运行环境"
- step3:在左侧代码目录中新建 PHP 代码目录编写PHP代码
- step4:进入 PHP 代码目录运行
php -S 0.0.0.0:8080
启动 PHP 内置的 web server 服务器监听8080端口。 - step5:点击最右侧的【访问链接】选项卡,在访问链接面板中填写端口号为:8080,点击创建链接,即可点击生成的链接访问我们的 PHP 项目
Tips: 从终端中输入命令可以看出 Cloud Studio 为我们集成了 Ubuntu16.04.1 + PHP7.0.28(NTS) 的开发环境:
有任何疑问,可以查阅帮助文档
现在 CODING 正在举办一场基于 Cloud Studio 工作空间的【我最喜爱的 Cloud Studio 插件评选大赛】。进入活动官网:https://studio.qcloud.coding.net/campaign/favorite-plugins/index,了解更多活动信息。
适用于PHP初学者的学习线路和建议
先来看下PHP初学者的学习线路:
- (1) 熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉。
- (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法。
- (3) 学习如何将PHP与HTML结合起来,完成简单的动态页面。
- (4) 接触学习MySQL,开始设计数据库。
- (5) 不断巩固PHP语法,熟悉大部分的PHP常用函数,理解面向对象编程,MySQL优化,以及一些模板和框架。
- (6) 最终完成一个功能齐全的动态站点。
- 新手不要看到上面的概括就以为PHP学习是很简单的,编程是需要你认真的思考和不断的实践。下面具体解释一下PHP的学习线路。首先,任何网站都是由网页组成的,也就是说想完成一个网站,必须先学会做网页,掌握静态网页的制作技术是学习开发网站的先决条件。因此我们要学习HTML,为今后制作网站打下基础。学习HTML应该边学边做,HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,才能深刻记忆,一味的看书是不行的。
- 假设你已经可以完成一个静态页面了,那么就该开始了解动态语言,刚一接触动态语言,可能很多人都会有很多不解,代码不是作为直接输出的,而是要经过处理的,HTML是经过HTML解析器,而PHP也要通过PHP解析器,跟学习HTML一样的道理,想让任何的解析器工作,就必须使用它专用的语法结构。
- 学习PHP,你应该感到幸运,因为如果你学过其他语言,你就会发现PHP还是相对简单的,这一阶段,你要搞清楚HTML和PHP的概念,你现在完全可以让PHP给你算算一加一等于几,然后在浏览器输出。不要觉得幼稚,这虽然是很小的一段代码,但是对于你的编程之路,可是迈出了一大步。不过现在,你还是一个菜鸟。
- 接下来就要学习数据库了,MySQL可以说是PHP的黄金搭档,我们要征服这个数据库,在你理解了数据库的概念之后,就要尝试通过PHP来连接数据库,进而会用PHP成功的插入,删除和更新数据。
- 这个时候,你可能会处于这种状态:你会HTML吗?会,我能编好几个表格排板的网页呢!你会PHP吗?会,我会把一加一的运算写在函数里,然后调用!你会MySQL吗?会,我可以把数据库里的数据插入删除啦!
- 那接下来该做什么呢?尝试着做个小的留言本吧,这同样是新手面临的一道关卡。花了一段时间,你终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。但是,你可能会看人家这个编论坛,那个开发CMS,我什么时候可以写一个呢?不要急,再巩固一下知识,熟悉了PHP和MySQL开发的要领后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?这个时候,你可以完善一下你写的留言本。留言本应该加入注册以及分页的功能,可以的话,UI也可以加强。
- 这就算学会了吗?NO,NO,NO,还早呢,你到现在还没碰过OOP呢吧?那模板和框架呢?还要继续学习呀!PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。可以节省开发时间、有助于建立更稳定的应用。所以说,PHP框架是一个可以用来节省时间并强化自己代码的工具。当你第一次选择PHP框架时,建议多尝试几个,每个框架都有自己的长处和短处,例如Zend框架由于多样的功能、并且有一个广泛的支持系统,流行了很长时间。而CakePHP是一个晚于Zend的PHP框架,相应的支持系统也比较少,但是更为方便和易于使用。
- 了解了面向对象和框架后,你应该接触一下XML了,总而言之,你绝对不会发现你全部都学会了,学无止境!学东西,永远不要妄想有速成这一说,技巧再多,但是缺少努力,那也是白搭。有一点可以保证,就是你学会了PHP,那么再学其它语言,肯定速成,反过来也一样,如果你之前学过其它的语言,那么学PHP肯定快。
- 多借鉴别人成功的代码,绝对是有益无害,所以要多看那些经过千锤百炼凝出来的经典代码,是进步的最好方法。另外,要强调的是,学习一项技术过程中可能会遇到困难,可能会迷茫,你也许学了一半的PHP,又开始打C#的主意,或者有人说Java很好,这个时候你绝对不能动摇,要坚持到底,彻底学会。祝你顺利学成PHP,开发自己想要的网站。
PHP开发工具
关于PHP的开发工具其实网站上可以搜索到非常多,对于初学者来说,太多的选择反而不知道怎么去选。
本文是基于window平台上,针对PHP初学者定制了一套非常好用的开发工具。
PHP 开发工具其实包括以下四种:
- PHP服务器组件。
- PHP IDE(Integrated Development Environment,集成开发环境)。
- MySql管理工具
- 文本编辑器
PHP服务器组件
PHP服务器组件非常多有WampServer、XAMPP、AppServ、phpStudy、phpnow等。
菜鸟教程推荐: WampServer,这也是目前window平台上使用最广泛的,操作也非常简单。WampServer内部还集成了PhpMyAdmin 数据库管理工具。
下载地址:http://www.wampserver.com/en/#download-wrapper
PHP IDE(Integrated Development Environment,集成开发环境)
PHP IDE 也是非常多有Zend Studio、Eclipse for PHP、EasyEclipse等。
菜鸟教程推荐:easyeclipse for php
下载地址:http://www.easyeclipse.org/site/distributions/php.html
MySql管理工具
MySql管理工具常用的有:Navicat for Mysql、PhpMyAdmin。
菜鸟教程推荐:Navicat for Mysql,Navicat for MySQL是一套专为MySQL设计的强大数据库管理及开发工具。它可以用于任何3.21或以上的MySQL数据库服务器,并支持大部份MySQL最新版本的功能,包括触发器、存储过程、函数、事件、检索、权限管理等等。
下载地址:http://www.navicat.com.cn/download/navicat-for-mysql
文本编辑器
如果你已经能够熟练掌握PHP的语法,那你可以逐渐抛弃那些笨重的IDE,使用文本编辑器来编写PHP代码。
常用的编辑器有:Notepad++、editplus、ultraedit等。
菜鸟教程推荐:Notepad++
下载地址:http://notepad-plus-plus.org/download/
五个php最常用的开发框架
编程开发框架是什么?通俗的讲是别人封装好常用方法,开发者直接调用或使用即可。
php发展到现在已经有24年,目前php流行框架大概有十几个左右,我们常用的也是目前市场上需求最大的五个框架,分别是:ThinkPHP(国内)、Zend Framework(国外)、Yii(国外)、Laravel(中外)、CakePHP(国外)。
很多网友发现,php很多框架都是国外开发的,目前纯属于国人自己开发的只有thinkphp框架,我们简称“TP”框架。Laravel为什么说中外开发呢?Laravel目前中文文档也是比较全面,而且有中国自己人参与开发,也是目前国内使用率比较的php框架,现在流行前后台模板分离,Laravel在API设计是目前所有php框架中最好的一个,所有Laravel未来在国内市场还会继续上升。
很多国内企业开发喜欢用Zend Framework与Yii,这两个框架适合大型项目开发。对于大型项目中,他们开发简单、高效,扩展支持多。其中Yii将 Web编程中的可重用性发挥到极致,能够显著加速开发进程。CakePHP是基于十分注重快速开发,使得它成为一个非常好的用于RAD的开发框架。
最后我们来说下,我们国人自己开发的TP框架,也是目前国人使用最多的框架。初学者学习框架优先选择TP框架,完全免费中文文档,学习资料齐全,不用翻译也不用担心看不懂,学习社区也非常多。在TP5.0出来之后,号称是为API而生,其中开发模式是MVC,开发方式和思维符合我们国人的开发思维。
其实为什么国人都喜欢TP框架是:简单、资料多、容易上手、完美胜任日常项目、后期维护简单。