LAMP

  1. window:WAMP(windows,apache,mysql,php)
  2. LAMP是 Linux,Apache,MySQL和PHP的缩写,是我们提供 Web 服务的软件基础。
  3. 对于 Linux,你需要熟悉常用的操作命令,完成日常事务
  4. 对于 Apchae,你需要熟悉其配置,配置可运行的网站。
  5. 对于 MySQL,会常见查询,会设计表。
  6. 对于 PHP,掌握基本的PHP语法,掌握 Zend Framework 框架。
  7. 安装 LAMP 环境,可参考:Ubuntu 搭建 php 开发环境教程,把该教程中的 mariaDB 替换成 mysql,把 php7全部替换成php5即可。

Linux

公司程序开发统一使用 Ubuntu14.04 LTS 系统版本作为日常操作系统。

问题:为什么是 Linux 而不是 Windows?为什么选择 Ubuntu?

  1. 我们已经上线的项目全部部署在 Linux(Ubuntu)上面的,直接在 Ubuntu 上面开发,可以减少兼容性问题,避免因为系统不同而产生的其他问题。
  2. Linux 下面有很多好用的程序,它们都很简洁,可以直接从命令行调用。相比 windows 一步一步点击,linux只需一行代码就行。当你习惯这一点,就再也不会想去用 Windows 开发了。
  3. Linux 可以很方便地管理服务器。可以自己编写脚本来控制服务器如何运行,定时运行任务。如果windows的话,你只能寄希望于微软了,掌握微软提供的管理软件,自己不能修改,也不明白其原理。

Ubuntu 入门

  1. Linux 有很多版本,Ubuntu 是其中的一种,其他还有 Redhat,Debian,CentOS。
  2. 你需要下载 Ubuntu14.04 LTS 桌面版镜像文件。
  3. 安装 Ubuntu 系统,可参考:Ubantu14.04 安装教程
  4. 安装一些常用的程序,至少要有:
    1. Chrome 浏览器,php开发必备
    2. Lantern/hosts文件,用于FQ访问 Google
    3. 开发工具(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 登录mysql
  • php 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

  1. MySQL 的安装,前面 LAMP 安装中已经安装好了。
  2. 会使用 phpmyadmin 工具管理mysql数据库(主要)。
  3. 掌握常用的 mysql 语句,可参考《MySQL必知必会》(下载)。该书简单易懂,入门够用了。
  4. 了解索引,不同的数据类型,并且应用到表设计中。

PHP

  1. 这是php工程师必须要会的技能
  2. 掌握 Zend Framework,我们会用一个小的 Demo 来引导你理解整个框架结构。
    1. 先完成 zend 官网上的教程:Zend Framework Quick Start,这个原版的教程有一些坑,为了快速入门也可以参考我们翻译的中文版:Zend Framework 1 - Quick Start
    2. 完成我们布置的一个 Demo 示例程序。
  3. Zend Framework
    1. php 框架都是相通的,zend 也不例外,它也是一个 MVC 架构的php框架。
    2. 目录结构:/application php文件、/public 静态文件

      /application/controllers/ 控制器

      /application/models/ 模型

      /application/views/ 视图

      /application/library Zend 框架

      /public 主要是一些css,js,引用的前端框架、库文件
    3. 所有的http请求通过 index.php,然后传递到相应的 controllers,调用相应的服务并执行,产生结果,返回响应给用户浏览器。

php开发入门教程的更多相关文章

  1. 基于Nodejs生态圈的TypeScript+React开发入门教程

    基于Nodejs生态圈的TypeScript+React开发入门教程   概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...

  2. Arduino可穿戴开发入门教程(大学霸内部资料)

    Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...

  3. 一看就懂的Android APP开发入门教程

    一看就懂的Android APP开发入门教程 作者: 字体:[增加 减小] 类型:转载   这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤 ...

  4. iOS开发入门教程

    iOS开发入门教程 http://my.oschina.net/mailzwj/blog/133273 摘要 iOS开发入门教程,从创建项目到运行项目,包括OC基础,调试,模拟器设置等相关知识. iO ...

  5. ENVI Services Engine5.1 应用开发入门教程

    原文地址: ENVI Services Engine5.1 应用开发入门教程_ENVI-IDL中国_新浪博客 http://blog.sina.com.cn/s/blog_764b1e9d0102uy ...

  6. Apple官方IOS开发入门教程[v0.2]

    今天,又跑去找IOS开发入门教程了,结果发现没什么好的PDF. 后来发现,原来苹果官方有开发入门教程,而且写的很好.所以整理出来了,给大家分享一下. 我就不在这里贴pdf的内容了,下面有苹果官方教程的 ...

  7. Android Studio JNI开发入门教程

    Android Studio JNI开发入门教程 2016-08-29 14:38 3269人阅读 评论(0) 收藏 举报  分类: JNI(3)    目录(?)[+]   概述 在Andorid ...

  8. 移动H5开发入门教程:12点webAPP前端开发经验

    如果你是一名移动H5前端开发人员,25学堂的小编认为下面的分享的12点webAPP前端开发经验是你必须掌握的基础知识点.算是一篇移动H5开发入门教程吧! 1. viewport:也就是可视区域.对于桌 ...

  9. C#,ArcGIS Engine开发入门教程

    C#,ArcGIS Engine开发入门教程 转自:http://blog.csdn.net/yanleigis/article/details/2233674  目录(?)[+] 五实现 一 加载A ...

  10. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

随机推荐

  1. Intellij IDEA 导入Eclipse或MyEclipse的Web项目(旧版 转载)

    Intellij IDEA 导入Eclipse或MyEclipse的Web项目 博客分类: Intellig IDEA Intellij IDEAEclipseWeb  Intellij IDEA 导 ...

  2. sdut-2725-The Urge to Merge-状压DP

    把数组竖起来,从上往下走. 如果当前位置是竖着乘的,那么第一个点标记为1.否则标记为0. 样例最终的状态为: 0 0 1 0 1 0 1 0 0 0 0 0 #include<iostream& ...

  3. 排序算法c语言描述---堆排序

    排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析. 文章规划: 一.通过自己对排序算法本身的理解,对每个方法写个小测试程序.具体思路分析不 ...

  4. Web通信中的Get、Post方法

    首先我们要了解Tomcat,Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选. ...

  5. RecyclerView实例-实现可下拉刷新上拉加载更多并可切换线性流和瀑布流模式(1)

    摘要 最近项目有个列表页需要实现线性列表和瀑布流展示的切换,首先我想到的就是上 [RecyclerView],他本身已经很好的提供了三种布局方式,只是简单做个切换应该是很简单的事情,如果要用Recyc ...

  6. 使用 logback + slf4j 进行日志记录

    此处主要介绍maven web工程下如何使用 logback + slf4j  进行日志记录. logback主要包含三个组成部分:Loggers(日志记录器).Appenders(输出目的在).La ...

  7. 用layer添加UIView的动画

    项目有时会遇到用UIView 添加动画的情况,这里我觉得在layer上添加动画比较好,因为可以详细地设定动画属性,方便理解 下面是一个旋转动画: -(void)roundBtnAction:(id)s ...

  8. NSDate,NSCalendar,NSTimer,NSTimeZone

      NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是不可改变的. ...

  9. objectiv-c所有对象之间的交互是如何实现的?

    在对象间交互中每个对象承担不同的角色,总的来说就是“数据发送者”和“数据接收者”两个角色.可以通过objective-c中给我们提供的手段来实现两者间的通讯.比如: “通知中心”NSNotificat ...

  10. What is SaaS?

    SaaS, or Software as a Service, describes any cloud service where consumers are able to access softw ...