ThinkPHP框架学习(一)
这几天呢,断断续续地在看孙叔华老师的ThinkPHP教程,期间还做了一些其他事情,出去办了点事,总结总结下一学期规划等等,不知不觉间又过去了大半个星期。现在呢,看完了一天的教程,在这里,还是希望稍微总结一番,加强自己的印象。
既然是学习ThinkPHP,那第一步肯定是要先获取该框架,可以从GitHub主页将其下载到本地。下载完成后,可以看到其初始目录如下:

其中的ThinkPHP目录结构如下:

有关这些文件夹的具体作用,可以参照下图(参考ThinkPHP3.2.3开发手册)

该视频教程是以雍达商城为实例,进行一步步改进,商城模板的下载链接为百度网盘链接,提取密码为4fjw。
商城模板里有写好的前端和后台代码,而我们接下来需要去做的就是利用ThinkPHP框架将商城模板结合起来。
我们在安装Apache的时候,知道PHP的默认工作空间是在Apache目录下的htdocs文件夹中,
而为了方便起见,我们通常都会去设置一个虚拟目录,将工作空间转移到其他任何位置,便于自己的查找和操作等。另外,接下来的过程中我会使用zend studio来编写文件,它同样也有一个workspace,所以在这里,将二者结合起来,我在D盘新建了一个zend文件夹,再在zend文件夹中新建一个workspace,我会将Apache的工作目录和zend studio的工作空间均置于此处,这样方便自己的操作。
虚拟目录设置
经过前面的分析,我们了解到,Apache的默认目录位于D:/phpenvir/Apache2.4.25/htdocs,而我接下来要将其修改为D:/zend/workspace。
打开Apache的安装目录,在conf文件夹下打开httpd.conf文件,Ctrl+F找到下面的代码:
#默认工作空间目录,将其关闭(在前面加#号即可)
DocumentRoot "D:/phpenvir/Apache2.4.25/htdocs"
接着Crtl+F,找到<IfModule dir_module>这一块,在其中加入如下代码:
<IfModule dir_module>
#设置缺省载入界面
DirectoryIndex index.html index.htm index.php
#设置站点别名,和网页访问路径有关
Alias /myweb "D:/zend/workspace"
#定义目录权限设置
<Directory "D:/zend/workspace">
#Indexes用于显示目录结构,MultiViews是搜索功能,用于进行文件名模式匹配
Options Indexes MultiViews FollowSymLinks
#不允许覆盖
AllowOverride None
#设置访问权限
#先允许,后拒绝
Order allow,deny
#允许所有人访问
Allow from all
#对这个目录给予授权
Require all granted
</Directory>
</IfModule>
保存文件,重启Apache,在浏览器中输入 http://localhost/myweb 即可以正常访问,如下图:

zend Studio工作空间设置
具体流程: Windows->Preferences->General->Starup and Shutdown->Workspaces->选中Prompt for workspace on statup这一项,关闭zend studio重新打开即可调整workspace路径地址,如下图:

虚拟目录和zend studio工作空间设置好之后,我们就可以在D:/zend/workspace文件夹中新建项目了。此时我们打开工作目录的路径地址为 http://localhost/myweb 。
虚拟主机配置
这里可以再做一件事(也可以略去),例如我们希望通过 http://www.myweb.com 这样一种方式来进行访问网页,但是我们并未申请该域名,直接进行访问 www.myweb.com 是行不通的(不过这个域名好像已经被其他人注册使用了,但终归是不能为己所用),这时我们可以去设置一个虚拟主机,通过修改本地hosts文件,对该域名进行解析,就可以在自己电脑上使用 www.myweb.com 来访问网页了(当然仅限于在自己电脑上,其实也没太大用途...而修改hosts文件翻墙也大致是利用了这个原理)。具体流程如下:
打开Apache的安装目录,在
conf文件夹下打开httpd.conf文件,Ctrl+F找到下面的代码:#Virtual hosts 去掉下面一行前面的#号,启动虚拟主机配置
#Include conf/extra/httpd-vhosts.conf
在conf目录下的extra文件夹下找到
httpd-vhosts.conf文件,在文件最后加入下面一段代码:
#指定虚拟主机的IP地址和端口号,默认为127.0.0.1
<VirtualHost *:80>
#主机名称
ServerName www.myweb.com
#网站目录
DocumentRoot "D:/zend/workspace"
DirectoryIndex index.html index.htm index.php
<Directory "D:/zend/workspace">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
打开位于C:/Windows/System32/drivers/etc目录下的
hosts文件,在文件末尾添加一行代码:127.0.0.1 www.myweb.com
将该域名与本地主机建立解析关系。如下图所示:

- 以上修改完成之后,重启 Apache服务器,在地址栏输入 http://www.myweb.com 即可以打开自己的工作目录。
ThinkPHP框架学习(一)的更多相关文章
- 【ThinkPHP框架学习 】(1) --- thinkphp 3.2.3 验证码验证使用教程分享
框架版本:ThinkPHP框架 thinkphp 3.2.3 生成验证码 下面是最简单的方式生成验证码: $Verify = new \Think\Verify(); $Verify-> ...
- ThinkPHP框架学习(二)
在上一节中,我主要讲到了如何获取ThinkPHP框架,以及虚拟目录和虚拟主机的配置.准备工作完成之后,就可以利用ThinkPHP去部署项目了. 先在工作目录(D:/zend/workspace)下新建 ...
- ThinkPHP框架学习摘要
框架在linux与win下区别 1.文件权限设置: 2.大小写不规范: 学习框架的基本思路 : 1.如何收入并配置框架: 2.Controller的命名规范与书写规范: 3.Model的命名规范与书写 ...
- 使用memcache(thinkphp框架学习)
$memcache = new Memcache; $memcache->connect("localhost",11211); $memcache->set('sxt ...
- thinkPHP框架学习笔记
class ZhuantiAction extends Action { public function index() { $name = trim($this->_get('name')); ...
- 【ThinkPHP框架学习 】(2) --- 后台管理系统如何用iframe点击左边右边局部刷新
如题: 在写后台管理系统时,需要实现后台界面的局部动态刷新. 左边的导航栏使用a标签进行设置,通过href和target属性的配合,就可以将iframe中的子页实现动态 ...
- Yii框架学习 新手教程(一)
本人小菜鸟一仅仅,为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识,小菜鸟创建了一个群.希望光临本博客的人能够进来交流.寻求 ...
- 【PHP ThinkPHP框架】小bug汇总[更新]
目录结构 1.函数调用 2.绑定select下拉框数据 3.PHP查询功能 4.格式化时间和价钱 5.IF标签比较两个变量 6.eq标签比较两个变量 7.新增信息或者修改信息的自动验证和自动填充 8. ...
- thinkPHP框架介绍(一)
原文:thinkPHP框架介绍(一) 一.ThinkPHP的介绍 期间有对ThinkPHP框架在学习上的问题欢迎大家交流:QQ:812231134 MVC M - Model 模型 ...
随机推荐
- 算法练习-002-返回一个set数组
题目描述: 写一个函数,它的作用是接受一个整数(假设为num),返回一个数组,数组的长度为num, 数组中的内容为随机的0至(num-1)的值,并且不能重复.比如num为5的话,数组可能是[1,0,3 ...
- 新员工入门 - for测试
23456人员介绍 XXX 测试工作 [软件] Chrome 浏览器.jsonviewer.Firefox.FireBug HTTP协议与抓包 - fildder.wireshirk等 DB查询工具 ...
- 从浏览器输入URL到显示页面到底发生了什么?
首先说明一下,当系统本地缓存了你所请求的资源时,会直接把缓存内容解析并显示,而不会进行以下的一系列行为. 一.DNS域名解析 至今的计算机数量可谓是数不胜数,而它们的唯一识别身份就是ip地址.我们常说 ...
- LeetCode-37.解数独
编写一个程序,通过已填充的空格来解决数独问题. 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实线分隔的 3x3 ...
- PAT甲题题解-1061. Dating (20)-字符串处理,水水
#include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...
- Spring sprint @ first day
前几天,我们讨论出任务划分.结合任务及个人情况,我认领校园网认证和网盘服务这块. 认证原理整3天,尝试编译2天,整合模块5天. 日期 时间 地点 工作 5.11 20:00 九实 下载mentohus ...
- 软件工程之四则运算--Github
由于现在配置问题,然后借用同学电脑将代码上传至Github,网址为:https://github.com/be821/RealFour 参考相关Github文档: 1. http://my.oschi ...
- Sublime Text添加插入带当前时间说明
Sublime Text添加插入带当前时间说明 作者:木尘 日期:2014-11-25 插件实现插入带时间功能的说明: 1. 创建插件: Tools → New Plugin: import da ...
- Linux命令(十二) 分割文件 split 合并文件 join
一.分割文件 split 命令介绍 当处理文件时,有时需要将文件做分割处理,split 命令用于分割文件,可以分割文本文件,按指定的行数分割,每个分割后的文件都包含相同的行数.split 可以分割非文 ...
- Sed 静默替换文件内容 以及 awk 的简单使用
1. Sed的help 鸟哥说的 学东西 先看 help 先看man 再google 不好FQ再百度.. Usage: sed [OPTION]... {script-only-if-no-other ...