🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名(剩余8个优惠名额) →

博客

学习手册:Laravel 框架

PHP 社区现在最受欢迎的框架就是 Laravel。打算使用 PHP 框架开发项目,首先可以考虑一下 Laravel,简单,清晰,优雅。即使您从来也没有想过要使用框架,强烈建议您浏览一下这些视频,只需要您的 5 小时的时间。这会让你理解一个 MVC 框架的基本的使用,在脑子里形成一种思维,我认为这非常重要。 这套课程是基于 Laravel 4.2 这个版本做的,目前 Laravel 刚刚发布了 5.0 版。它们之间有些区别,所以我建议先浏览一遍这些视频,然后在直正动手的实践的时候,可以对照 Laravel 官方的文档去做,这些文档非常清晰,也很简单。http://laravel.com/docs/5.0

准备

几个概念可以先理解一下:
MVC
表示三样东西, 模型(Model),视图(View),控制器(Controller)。可以理解成是一种开发应用程序的方法,按照作用或者叫职能去把一个应用程序分成三个部分。
Model
模型表示的主要是数据。
View
视图用来向用户展示内容。
Controller
控制器可以向模型去要一些数据,再把要过来的数据交给视图去显示。
Router
定义应用里的路由,就是去定义一些用户可能要访问的点。比如定义一个叫 movies 的路由,当用户在访问 /movies 这个地址的时候,用 Movie 这个控制器去处理,根据用户使用的请求的方法(GET,POST)Movie 控制器会到 Movie 这个模型里去提取数据,或者把数据交给 Movie 模型去处理。如果是提取数据,会把提取过来的数据交给一个视图,视图使用事先定义好的展示内容的模板把内容显示给用户。
Blade
是 Laravel 使用的展示内容用的模板引擎的名字。
Migration
你想修改应用的数据库,比如去添加一个数据表,可以先去创建一个 Migration,在它里面用 Schema 的方法去定义数据表,完成以后,去执行一下这个 Migration,你的应用的数据库就会有了一个用 Schema 定义的数据表了。你又打算修改一下之前创建的数据表,可以再去创建一个 Migration,然后在里面还是用 Schema 的方法去定义修改数据表的动作,再去执行一下这个 Migration 。你突然又想不打算去修改最开始创建的那个数据表了,可以在命令行下面执行 Migration 的 rollback 命令,把数据表恢复成最开始的样子。
ORM
一个数据表,对应着一个对象,在这个对象上面有一些方法你可以去处理数据表里的数据,比如找出数据表里的数据,更新,保存数据到这个数据表里,也可以删除数据表里的数据,这些操作基本上不用你手工去写 SQL 的语句来操作数据库,直接用这些定义好的方法去表达你要做的事情。这就是 ORM。

学习手册:PHP 脚本语言

用一天的时间,看完下面的 5 个小时视频,你会知道 PHP 是怎么回事。视频不可能包含所有与 PHP 相关的知识,也没有必要这样,我们只需要刚刚好的知识,可以让我们起步就行。理解了 PHP ,以后遇到问题也好解决。

准备

  1. 你需要一个可以执行 PHP 代码的环境,按照 《 Web 开发环境与服务器生产环境 》这个手册去创建。这个环境应该包含 nginx ,php,mariadb 。
  2. 看完上面的手册以后,你应该可以理解:
    1. 什么是虚拟机
    2. 怎么样用 Vagrant 创建与管理虚拟机
    3. Linux 系统的基本操作
    4. 怎么样在 Linux 系统上搭建一个可以运行 PHP 程序的环境
    5. 本地电脑与虚拟机之间的同步目录怎么设置
    6. 本地电脑与虚拟机之间的网络设置
    7. nginx 的基本配置
    8. 怎么样设置 nginx 的虚拟主机
  3. 在本地电脑上创建一个目录,在这个目录下面放的是你要执行的 PHP 的代码,把这个目录设置成 nginx 虚拟主机的根目录,这样在浏览器上打开这个虚拟主机的地址,就可以执行你创建的 PHP 文件。
  4. 可以在本地电脑用编辑器打开你为学习 PHP 创建的目录,然后直接在本地电脑上创建  PHP 文件,撰写 PHP 的代码。

学习手册:Drupal 内容管理系统

目标

  1. 在命令行界面下使用 Drush 管理 Drupal
  2. 自定义内容类型,字段,分类
  3. 学会使用视图模块为网站创建内容列表
  4. 创建内容与内容之间的关系,用视图模块利用这种关系
  5. 使用 Rules 模块创建可以自动执行的任务
  6. 创建多语言网站
  7. 电子商务基础
  8. 会用 Service 模块为其它的应用提供数据

准备

按照 《 Web 开发环境与服务器生产环境 》这个手册,在本地先搭建起一个可以运行 Drupal 的环境。
建议把所有视频都看一遍,然后再动手。

学习手册:Web 开发环境与服务器生产环境

在你的电脑上,应该有个 Web 开发环境,在上面去开发你想要的网站。完成以后可以把网站迁移到服务器上,在服务器也要搭建一个网站运行的环境,这个服务器上的环境叫生产环境。大部分情况,你也需要自己去搭建这个服务器上的生产环境。你的生产环境要在 Linux 类型的操作系统上搭建,比如 Ubuntu,CentOS ...  所以,尽早熟悉 Linux 系统的基本操作,熟悉在命令行下面去做事。

网站最终要运行在生产环境上,你在本地开发它的时候,最好可以为网站搭建一个跟生产环境相近的环境,比如用同样的操作系统,同样版本的软件,同样的设置等等。建议在本地电脑上安装虚拟机,为虚拟机安装 Linux 类型的操作系统,然后在上面安装和配置运行网站需要的软件,比如 Web 服务器,PHP,数据库等等。想要更好的管理虚拟机,推荐使用 Vagrant 。

放弃用一键安装的东西来搭建本地的开发环境,比如 WAMP,MAMP,XAMPP!暂时放弃在服务器的生产环境上安装管理面板。亲自动手,去搭建这个运行环境。

这个网站运行的环境在本地,还有在服务器上搭建的方法是差不多的,就是去安装一些需要的软件,然后通过修改配置文件来改变这些软件的行为。

路径(二十二):在 nginx 上运行 WordPress

先修改一下本地电脑的 hosts 文件,添加一条新的记录:192.168.33.10 wp.ninghao.dev。完成以后用 ping wp.ninghao.dev 测试一下,你会看到现在这个主机名指向的就是我们的虚拟机的 IP 地址,这样在配置 nginx 的时候,可以添加一个新的 server ,服务器名就可以使用 wp.ninghao.dev ,打开这个主机名就是我们即将要安装的 WordPress 。

登录到虚拟机,在 nginx 的配置文件目录的 conf.d 里面,再新建一个 .conf 文件,命名为 wp.ninghao.dev.conf ,文件里的内容像下面这样:

server {
  listen        80;
  server_name   wp.ninghao.dev;
  root          /vagrant/wordpress/public;
  index         index.php index.html index.htm;

  location / {
     try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include fastcgi_params;  
  }
}

参考:https://lemp.ninghao.net/config--nginx.html

路径(二十一):在 nginx 上运行 Drupal 8

到现在,我们已经在本地搭建好了一个可以运行 PHP 应用的环境,这个环境可能会根据要运行的 PHP 应用来调整一下,比如设置地址重写,为应用的不同的位置去配置 nginx 的 location 等等。下面,我们在这个开发环境下去运行 Drupal 8 。

准备

先去修改一下本地电脑上的 hosts 文件,添加一条新的记录,让一个主机名指向虚拟机的 IP 地址,比如我要让 dp8.ninghao.dev 指向 192.168.33.10 这个 IP 地址,可以这样设置:

192.168.33.10 dp8.ninghao.dev

在 nginx 配置的目录(/etc/nginx/conf.d)下面创建一个新的配置文件,这个配置文件可以用服务器的主机名去命名一下,这里就是 dp8.ninghao.dev.conf 。下面是配置文件里的内容:

路径(二十):准备好工具 — Git,Composer, Drush,WP-CLI

Git,Composer,Drush,WP-CLI 这些工具在以后你会经常用到,Git 为项目做版本控制,Composer 是 php 的包管理工具,Drush 可以用命令控制 Drupal 网站,WP-CLI 是用在 WordPress 上的命令行工具。下面去先去安装一下它们。

安装 Git

Git 可以用 yum 去安装,先搜索一下 yum search git ,你会找到 git.x86_64 还有  git2u.x86_64。用 yum info 去查看包的信息,你会发现 git2u 这个包是 ius 仓库里带的 2.x 版本的 Git ,可以去安装这个包:

yum install git2u

完成以后,输入:

git --help

会显示 git 的帮助信息。说明成功的安装了 Git 。

路径(十九):在本地 CentOS 7 上搭建 Web 开发环境 — phpMyAdmin

我们可以在命令行工具下面管理 MySQL / MariaDB 数据库。想要个图形界面的话,可以使用 phpMyAdmin,通过浏览器直接管理服务器的数据库管理系统,添加用户,设置密码,创建数据库,导入导出数据等等。

安装

在很多 Linux 类型的系统上都可以使用包管理工具去安装  phpMyAdmin,比如在 CentOS 系统里,先为系统安装 epel 仓库,然后就可以通过 yum install phpmyadmin 安装了。不过我们之前搭建的 Web 环境,用的 php 版本是 5.6,跟 phpmyadmin 依赖的包有冲突,它需要一个低版本的 php ,所以我们只能使用手工安装的方法。

先把 phpMyAdmin 下载到系统上,http://www.phpmyadmin.net/ ,点击 Download 会带你到下载的页面,页面上的 Direct link 是直接下载 phpMyAdmin 的链接,复制一下这个复制的地址,然后使用 curl 去下载它,像这样:

路径(十八):在本地 CentOS 7 上搭建 Web 开发环境 — nginx 与 php-fpm

nginx 不懂 php,它可以把客户对 php 应用的请求转发给懂 php 的服务器,这台服务器会解释 php ,然后把处理好的内容再交给 nginx ,nginx 再把这些内容发送到客户那里去。这里,nginx 的作用就是一个代理服务器(Proxy Server),这个解释 php 用的服务器是上游服务器(Upstream Server),通常就是使用 FastCGI 类型的服务器,你可以把 php-fpm 想成是 php 版本的 FastCGI 服务器。

代理服务器,用现实生活的例子解释一下,它就像是房产中介,你打算租个房子,找到了房产中介,他会为你联系房主,把你的需求说一下,房主把他的意思转达给房产中介,房产中介又会从房主那里得来的消息转达给你。代理服务器就是,接到客户的请求以后,把请求转发给其它的服务器,它们处理好请求以后会把结果再交给代理服务器,然后由代理服务器把信息再传递给发出这个请求的客户那里。

路径(十七):在本地 CentOS 7 上搭建 Web 开发环境 — nginx 配置实践

nginx 最主要的工作就是对外提供静态的文件,html,css,javascript,images  ...  下面我们去实践一下配置 nginx 的虚拟主机。为虚拟主机绑定域名,设置不同的 location 为请求提供资源。

准备

你可以直接在虚拟机上用 vim 编辑器去创建跟编辑配置文件,不过如果不熟悉 vim 编辑器的话,下面介绍一个可以直接用本地电脑上的编辑器去编辑 nginx 配置文件的方法。就是把 nginx 的配置文件的目录(/etc/nginx),跟本地电脑上的一个目录同步,不过在设置 vagrant 同步目录之前,先连接到虚拟机,去把配置文件目录备份到一个地方,不然在设置共享目录之后,重启虚拟机以后,这个目录里的内容会被删除掉。ssh 到虚拟机以后,执行:

cp -R /etc/nginx ~/

把 /etc/nginx 这个目录复制一份到用户的主目录下面。然后在本地电脑上用编辑器打开 Vagrantfile ,添加一条配置。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点