这几天呢,断断续续地在看孙叔华老师的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框架学习(一)的更多相关文章

  1. 【ThinkPHP框架学习 】(1) --- thinkphp 3.2.3 验证码验证使用教程分享

    框架版本:ThinkPHP框架     thinkphp 3.2.3 生成验证码 下面是最简单的方式生成验证码: $Verify = new \Think\Verify(); $Verify-> ...

  2. ThinkPHP框架学习(二)

    在上一节中,我主要讲到了如何获取ThinkPHP框架,以及虚拟目录和虚拟主机的配置.准备工作完成之后,就可以利用ThinkPHP去部署项目了. 先在工作目录(D:/zend/workspace)下新建 ...

  3. ThinkPHP框架学习摘要

    框架在linux与win下区别 1.文件权限设置: 2.大小写不规范: 学习框架的基本思路 : 1.如何收入并配置框架: 2.Controller的命名规范与书写规范: 3.Model的命名规范与书写 ...

  4. 使用memcache(thinkphp框架学习)

    $memcache = new Memcache; $memcache->connect("localhost",11211); $memcache->set('sxt ...

  5. thinkPHP框架学习笔记

    class ZhuantiAction extends Action { public function index() { $name = trim($this->_get('name')); ...

  6. 【ThinkPHP框架学习 】(2) --- 后台管理系统如何用iframe点击左边右边局部刷新

    如题:         在写后台管理系统时,需要实现后台界面的局部动态刷新.         左边的导航栏使用a标签进行设置,通过href和target属性的配合,就可以将iframe中的子页实现动态 ...

  7. Yii框架学习 新手教程(一)

    本人小菜鸟一仅仅,为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识,小菜鸟创建了一个群.希望光临本博客的人能够进来交流.寻求 ...

  8. 【PHP ThinkPHP框架】小bug汇总[更新]

    目录结构 1.函数调用 2.绑定select下拉框数据 3.PHP查询功能 4.格式化时间和价钱 5.IF标签比较两个变量 6.eq标签比较两个变量 7.新增信息或者修改信息的自动验证和自动填充 8. ...

  9. thinkPHP框架介绍(一)

    原文:thinkPHP框架介绍(一) 一.ThinkPHP的介绍 期间有对ThinkPHP框架在学习上的问题欢迎大家交流:QQ:812231134 MVC M - Model 模型           ...

随机推荐

  1. Sleeping会话导致阻塞原理(上)

    背景 我在处理客户问题的时候,客户经常搞不懂sleeping 的由来,和他可能导致的问题.下面来详细说下 什么是sleeping 其实我们经常可以在数据库中看到“”sleeping“状态的连接,但是这 ...

  2. chrome播放m3u8視頻失败

    由于项目后台需要播放m3u8视频,但此视频格式在移动端和Safari支持比较友善但是PC浏览器中都不太尽如人意,所以想在Chrome中播放只能借助第三方插件来播放. 有一款Video.js插件极大的简 ...

  3. RabbitMQ基础教程之基本使用篇

    RabbitMQ基础教程之基本使用篇 最近因为工作原因使用到RabbitMQ,之前也接触过其他的mq消息中间件,从实际使用感觉来看,却不太一样,正好趁着周末,可以好好看一下RabbitMQ的相关知识点 ...

  4. 《Linux内核设计与实现》第一、二章学习笔记

    <Linux内核设计与实现>第一.二章学习笔记 姓名:王玮怡  学号:20135116 第一章 Linux内核简介 一.关于Unix ——一个支持抢占式多任务.多线程.虚拟内存.换页.动态 ...

  5. 20135202闫佳歆--week7 可执行程序的装载--学习笔记

    此为个人学习笔记存档 week 7 可执行程序的装载 一.预处理.编译.链接和目标文件的格式 可执行文件的创建--预处理.编译和链接 cd Code vi hello.c gcc -E -o hell ...

  6. 实验作业:使gdb跟踪分析一个系统调用内核函数

    实验作业:使gdb跟踪分析一个系统调用内核函数(我使用的是getuid) 20135313吴子怡.北京电子科技学院 [第一部分] 根据视频演示的步骤,先做第一部分,步骤如下 ①更新menu代码到最新版 ...

  7. 小组成员的github地址

    袁颖https://github.com/joanyy/test 魏晓 https://github.com/weixiaohaobaobao/test 张晓磊 https://github.com/ ...

  8. 在 IntelliJ IDEA 中配置 Spark(Java API) 运行环境

    1. 新建Maven项目 初始Maven项目完成后,初始的配置(pom.xml)如下: 2. 配置Maven 向项目里新建Spark Core库 <?xml version="1.0& ...

  9. nodemoduleOfCheerio

    https://www.npmjs.com/package/cheerio 这是npm的api说明 英文好的同学可以去看看. cheerioAPI 是一个用来操作jsDOM的模块: 就像jQuery一 ...

  10. jQuery~DOM基础操作

    操作DOM 1.什么是DOM:document object model文档对象模型 2.树形结构 3.什么是节点(node):DOM结构中最小单位,元素.文本.属性...创建节点 var $div ...