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操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
随机推荐
- 关于fork有意思的两道题目
http://www.spongeliu.com/123.html 第一题,计算下面代码理论上总共打印了多少行:(网易2011笔试题) #include #include #include int m ...
- [转]Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法
转载:http://blog.csdn.net/harvic880925/article/details/39996643 前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的 ...
- SEO中最常见的几个错误
昨天答应给放点干活的,今天如约而来! SEO中最常见的几个错误: 1.关键词 人们往往想当然的选择自己喜欢的keyword,但用户在搜索时,根本不会使用它们.比方说,你选择"优化果酱&q ...
- tcp ip参数详解
http://www.cnblogs.com/digdeep/p/4869010.html 1. TCP/IP模型 我们一般知道OSI的网络参考模型是分为7层:“应表会传网数物”——应用层,表示层,会 ...
- iOS-系统定位功能
ios系统定位 前期准备 系统定位功能,需要用到框架:CoreLocation/CoreLocation.h, 然后导入文件#import <CoreLocation/CoreLocation. ...
- 如何判断Fragment是否对用户可见
背景 最近在开发中遇到了一个问题.我们的app需要统计用户的页面路径,也就是用户使用各个页面的情况.这就需要在不同的页面跳入和跳出时记录下来.但是我们的app主要是由Fragment构成的.而在不同的 ...
- 面试时,问哪些问题能试出一个Android应用开发者真正的水平?
一般面试时间短则30分钟,多则1个小时,这么点时间要全面考察一个人难度很大,需要一些技巧,这里我不局限于回答题主的问题,而是分享一下我个人关于如何做好Android技术面试的一些经验: 面试前的准备 ...
- (tomcat访问不了的两种解决方法)Bad Request(Invalid Hostname)
显示这个页面的时候一般有几中解决方法: 第一种就是如下图所示的方法: 具体步骤是: 1.也就是左下角win的“运行”中输入cmd进入doc窗口中 2.输入代码:netstat -ano 3.找到占用8 ...
- Android 开发笔记——通过 Intent 传递类对象
Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...
- JavaScript Array(数组) 对象
更多实例 合并两个数组 - concat() 合并三个数组 - concat() 用数组的元素组成字符串 - join() 删除数组的最后一个元素 - pop() 数组的末尾添加新的元素 - push ...