php开发入门教程
LAMP
- window:WAMP(windows,apache,mysql,php)
- LAMP是 Linux,Apache,MySQL和PHP的缩写,是我们提供 Web 服务的软件基础。
- 对于 Linux,你需要熟悉常用的操作命令,完成日常事务
- 对于 Apchae,你需要熟悉其配置,配置可运行的网站。
- 对于 MySQL,会常见查询,会设计表。
- 对于 PHP,掌握基本的PHP语法,掌握 Zend Framework 框架。
- 安装 LAMP 环境,可参考:Ubuntu 搭建 php 开发环境教程,把该教程中的 mariaDB 替换成 mysql,把 php7全部替换成php5即可。
Linux
公司程序开发统一使用 Ubuntu14.04 LTS 系统版本作为日常操作系统。
问题:为什么是 Linux 而不是 Windows?为什么选择 Ubuntu?
- 我们已经上线的项目全部部署在 Linux(Ubuntu)上面的,直接在 Ubuntu 上面开发,可以减少兼容性问题,避免因为系统不同而产生的其他问题。
- Linux 下面有很多好用的程序,它们都很简洁,可以直接从命令行调用。相比 windows 一步一步点击,linux只需一行代码就行。当你习惯这一点,就再也不会想去用 Windows 开发了。
- Linux 可以很方便地管理服务器。可以自己编写脚本来控制服务器如何运行,定时运行任务。如果windows的话,你只能寄希望于微软了,掌握微软提供的管理软件,自己不能修改,也不明白其原理。
Ubuntu 入门
- Linux 有很多版本,Ubuntu 是其中的一种,其他还有 Redhat,Debian,CentOS。
- 你需要下载 Ubuntu14.04 LTS 桌面版镜像文件。
- 安装 Ubuntu 系统,可参考:Ubantu14.04 安装教程
- 安装一些常用的程序,至少要有:
- Chrome 浏览器,php开发必备
- Lantern/hosts文件,用于FQ访问 Google
- 开发工具(phpstorm(激活),vscode,sublime,zend studio,git,vim)
Linux 常用命令
apt-get
软件安装/卸载apt-get install packagename
安装软件apt-get remove packagename
删除软件apt-get update/upgrade
更新源和软件
ls
显示当前目录下的文件和目录详细信息cd
切换目录vim filename
使用vi编辑器编辑文件tail
显示文件末尾一段内容|
管道,把左边程序的输出作为右边程序的输入>
重定向,把输出保存到文件中mysql -u root -p
登录mysqlphp filename
运行.php文件program_name
命令行输入程序名可直接运行程序,比如命令行输入phpstorm
就打开了 phpstorm,其他程序同理。sudo su
获得root权限df -h
查看目录空间大小service apache2 restart
重启 apache 服务ssh -l username ip
命令行连接服务器
Linux 技巧
- 以 . 开头的文件为隐藏文件,
ls -a
可以显示它。也可以在文件管理器设置“显示隐藏文件”。 - 系统自带的 gedit 编辑器很好用,支持代码高亮,临时用来编辑单个代码文件很方便。
- 命令行中使用 vim 编辑器很方便。
Apache
主要掌握Apache的配置,可参考:Ubuntu 下 Apache 的配置教程
这个配置的意思是:在浏览器输入自己设定的域名(比如:www.test.com)就访问到本地的项目。
默认的 Apache 的项目目录是 /var/www/html,而我们自己的项目通常在 /home/username/projectname,而且我们也要自己设定一个域名,总不能都用 localhost 吧。
此外实际网站部署时也要域名,所以就在本地先学会实践之。
掌握 Apache 的配置文件的主要结构和内容,windows下的apache和Ubuntu下的apache配置文件是不同的,这点要注意。主要区别是:Ubuntu中配置文件默认分散到了各个文件中。
可参考:How To Configure the Apache Web Server on an Ubuntu or Debian VPS
MySQL
- MySQL 的安装,前面 LAMP 安装中已经安装好了。
- 会使用 phpmyadmin 工具管理mysql数据库(主要)。
- 掌握常用的 mysql 语句,可参考《MySQL必知必会》(下载)。该书简单易懂,入门够用了。
- 了解索引,不同的数据类型,并且应用到表设计中。
PHP
- 这是php工程师必须要会的技能
- 掌握 Zend Framework,我们会用一个小的 Demo 来引导你理解整个框架结构。
- 先完成 zend 官网上的教程:Zend Framework Quick Start,这个原版的教程有一些坑,为了快速入门也可以参考我们翻译的中文版:Zend Framework 1 - Quick Start
- 完成我们布置的一个 Demo 示例程序。
- Zend Framework
- php 框架都是相通的,zend 也不例外,它也是一个 MVC 架构的php框架。
- 目录结构:/application php文件、/public 静态文件
/application/controllers/ 控制器
/application/models/ 模型
/application/views/ 视图
/application/library Zend 框架
/public 主要是一些css,js,引用的前端框架、库文件 - 所有的http请求通过 index.php,然后传递到相应的 controllers,调用相应的服务并执行,产生结果,返回响应给用户浏览器。
php开发入门教程的更多相关文章
- 基于Nodejs生态圈的TypeScript+React开发入门教程
基于Nodejs生态圈的TypeScript+React开发入门教程 概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...
- Arduino可穿戴开发入门教程(大学霸内部资料)
Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...
- 一看就懂的Android APP开发入门教程
一看就懂的Android APP开发入门教程 作者: 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤 ...
- iOS开发入门教程
iOS开发入门教程 http://my.oschina.net/mailzwj/blog/133273 摘要 iOS开发入门教程,从创建项目到运行项目,包括OC基础,调试,模拟器设置等相关知识. iO ...
- ENVI Services Engine5.1 应用开发入门教程
原文地址: ENVI Services Engine5.1 应用开发入门教程_ENVI-IDL中国_新浪博客 http://blog.sina.com.cn/s/blog_764b1e9d0102uy ...
- Apple官方IOS开发入门教程[v0.2]
今天,又跑去找IOS开发入门教程了,结果发现没什么好的PDF. 后来发现,原来苹果官方有开发入门教程,而且写的很好.所以整理出来了,给大家分享一下. 我就不在这里贴pdf的内容了,下面有苹果官方教程的 ...
- Android Studio JNI开发入门教程
Android Studio JNI开发入门教程 2016-08-29 14:38 3269人阅读 评论(0) 收藏 举报 分类: JNI(3) 目录(?)[+] 概述 在Andorid ...
- 移动H5开发入门教程:12点webAPP前端开发经验
如果你是一名移动H5前端开发人员,25学堂的小编认为下面的分享的12点webAPP前端开发经验是你必须掌握的基础知识点.算是一篇移动H5开发入门教程吧! 1. viewport:也就是可视区域.对于桌 ...
- C#,ArcGIS Engine开发入门教程
C#,ArcGIS Engine开发入门教程 转自:http://blog.csdn.net/yanleigis/article/details/2233674 目录(?)[+] 五实现 一 加载A ...
- Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
随机推荐
- poj 2462 Period of an Infinite Binary Expansion
欧拉定理.根据分数转换成2进制的过程,分子每次都乘2.对于循环节x,当2^x = 1(mod b)时肯定是循环节.显然当分母不能整除2的时候,即分母和2互质的话,就可以利用欧拉定理,使得2^(Eule ...
- LINQ多条件OR模糊查询
本文章转载:http://www.cnblogs.com/guyun/archive/2012/10/18/2729888.html 需求是这样的,有一张表tbl(Key[int],Value[str ...
- Guangsoushensou 2
<span style="color:#330099;">/* C - 广搜 基础 Time Limit:1000MS Memory Limit:65536KB 64b ...
- flume学习安装
近期项目组有需求点击流日志须要自己收集,学习了一下flume而且成功安装了.相关信息记录一下. 1)下载flume1.5版本号 wget http://www.apache.org/dyn/clos ...
- Linux下配置SSL (转)
没有安装apache的情况: 首先安装SSL,再编译安装Apache,再配置证书即可 1.下载apache和openssl 网址:http://www.apache.org http://www.op ...
- 基于HTML5的SLG游戏开发(一):搭建开发环境(2)
游戏开发过程中经常需要处理各种事件,而HTML5游戏开发中,所有的场景和UI面板都是绘制在Canvas上面,假设需要对某一UI面板上的关闭按钮添加事件监听,采取的方法是对关闭按钮图片资源进 ...
- Execution Contexts (执行上下文)
本章我们一起讨论一下ECMAScript的执行上下文及相关可执行代码的各种类型.so...什么是执行上下文?我们来看看定义: 每次当控制器转到ECMAScript可执行代码的时候, 即会进入到一个执行 ...
- oracle实现自动记录存储过程、自定义函数执行错误
CREATE OR REPLACE Package Pkg_Stm_Prgerrlog As --Purpose: 实现记录系统错误异常信息,便于问题跟踪 Procedure Sp_Stm_Prger ...
- 设置div中文字超出时自动换行
一.对于div强制换行1.(IE浏览器)white-space:normal; word-break:break-all;这里前者是遵循标准.#wrap{white-space:normal; wid ...
- C#超时处理(转载)
/// <summary> /// 超时处理 /// /// /// </summary> public class TimeoutChecker ...