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 模型 ...
随机推荐
- storm从入门到放弃(三),放弃使用 StreamId 特性
序:StreamId是storm中实现DAG有向无环图的重要一个特性,但是从实际生产环境来看,这个功能其实蛮影响生产环境的稳定性的,我们系统在迭代时会带来整体服务的不可用. StreamId是stor ...
- Jmeter(二十二)_jenkins配置gitlab插件与ant插件
Docker部署接口自动化持续集成环境第四步,代码上传到远程仓库! 接上文:脚本上传Gitlab 服务器中的Jenkins通过Gitlab插件读取远程Git远程仓库中的代码,然后通过ant插件进行构建 ...
- 1.0.0 Unity零基础入门——打砖块
1)设置好相应场景 2)创建脚本挂载到相应物体上并编写 2.代码 //Shoot - - 控制小球生成与射击 using System.Collections; using System.Collec ...
- React笔记-首次渲染
渲染机制 渲染机制主要分为两部分: 首次渲染和更新渲染. 首次渲染 首先通过一个小例子,来讲解首次渲染过程. <!DOCTYPE html> <html lang="en& ...
- Teaching Machines to Understand Us 让机器理解我们 之二 深度学习的历史
Deep history 深度学习的历史 The roots of deep learning reach back further than LeCun’s time at Bell Labs. H ...
- 机器学习初入门04 – Seaborn(持续更新)
Seaborn库可以说是在matplotlib库上的一个封装,它给我们提供了非常丰富的模板 一.整体布局风格设置 import seaborn as sns import numpy as np im ...
- ios UnitTest 学习笔记
一.运行第一个单元测试: 1.在Xcode 5中新建一个工程默认自带一个单元测试的文件夹,IDE自动生成了一个实现XCTestCase的.m文件,里面有一个失败测试(早期版本中实现的是SenTestC ...
- Github: 团队账号:https://github.com/ChenRuTing
Github: 团队账号:https://github.com/ChenRuTing 以后我们做好的代码会随时更新上传到这里,请老师届时帮我们看看.谢谢老师.
- Java的三大特性:封装、继承、多态
一.类的概念: 类一般包括两个部分:属性(成员变量)和方法(成员方法)方法组成部分:修饰符(可选) 返回值类型(必须) 方法名(必须)参数列表(可选) package com.classTest.pr ...
- Zero-shot learning(零样本学习)
一.介绍 在传统的分类模型中,为了解决多分类问题(例如三个类别:猫.狗和猪),就需要提供大量的猫.狗和猪的图片用以模型训练,然后给定一张新的图片,就能判定属于猫.狗或猪的其中哪一类.但是对于之前训练图 ...