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操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
随机推荐
- java工具类--数据库操作封装类
java对数据库操作简单处理,如下代码即可,封装了 增删改查及获取连接.关闭连接. 代码如下: package com.test; import java.sql.Connection; import ...
- ORACLE EXP命令
本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其对应的參数进行了说明,然后通过一些演示样例进行演练,加深理解.文章最后对运用这两个命令可能出现的问题(如权限不够,不同o ...
- jquery做个日期选择适用于手机端
第一步:做个 文本框用于显示年月日的 第二步:点击文本框触发bootstrap模态框并显示 第三步:我是建一个外部js页面写的 js中获得当前时间是年份和月份,形如:201208 //获取 ...
- 分布式还是混合式? 谈CDN架构对服务质量的影响
传统分布式模型 通 常,内容分发网络(CDN)採用分布式模型.在这样的模型里, 用户的文件存放在一个源server上.而且由大量边缘server负责分发这些文件.这些边缘server的磁盘空间比較小. ...
- PC机安装Qt以及QT交叉编译环境 分类: OpenCV ZedBoard shell ubuntu Eye_Detection 2014-11-08 18:57 246人阅读 评论(0) 收藏
PC: apt-get install qtcreator Qt Embedded for ZedBoard: 下载qt-everywhere-opensource-src-4.7.3.tar.gz, ...
- Assigning retained object to unsafe property;object will be released after assignment
解决方法,将变量 @property (assign) UILabel *titleView; 改为 @property (retain) UILabel *titleView;
- [Angular + Unit] AngularJS Unit testing using Karma
http://social.technet.microsoft.com/wiki/contents/articles/32300.angularjs-unit-testing-using-karma- ...
- codevs 3119 高精度练习之大整数开根 (各种高精+压位)
/* codevs 3119 高精度练习之大整数开根 (各种高精+压位) 二分答案 然后高精判重 打了一个多小时..... 最后还超时了...压位就好了 测试点#1.in 结果:AC 内存使用量: 2 ...
- Java_Activiti5_菜鸟也来学Activiti5工作流_之与Spring集成(三)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 国人编写的开源 .net Ioc 框架——My.Ioc 简介
My.Ioc 是作者开发的一款开源 IoC/DI 框架,下载地址在此处.它具有下面一些特点: 高效 在实现手段上,My.Ioc 通过使用泛型.缓存.动态生成代码.延迟注册.尽量使用抽象类而非接口等方式 ...