这几天呢,断断续续地在看孙叔华老师的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. Zookeeper 通知更新可靠吗? 解读源码找答案!

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由特鲁门发表于云+社区专栏 导读: 遇到Keepper通知更新无法收到的问题,思考节点变更通知的可靠性,通过阅读源码解析了解到zk Wa ...

  2. Vue.js 相关知识(脚手架)

    1. vue-cli 简介 Vue-cli 是 vue的设计者,为提升开发效率而提供的一个脚手架工具,可通过vue-cli快速构造项目结构 2. vue-cli 安装步骤 安装npm 或 cnpm n ...

  3. linux 操作 mysql 指定端口登录 以及启动 停止

    linux 操作 mysql 指定端口登录 mysql -uroot -p -h10.154.0.43 -P3341 1.查看mysql版本方法一:status;方法二:select version( ...

  4. PHP学习 文件访问和写入

    <?php $path = $_SERVER['PHP_SELF']; //PHP_SELF:当前执行脚本的文件名,与 document root 有关 echo basename($path) ...

  5. 《linux内核分析》chapter3读书笔记

  6. 读书笔记(chapter18)

    调试 18.1准备开始 18.2内核中的bug 1.从隐藏在源代码中的错误到展现在目击者面前的bug,往往是经历一系列连锁反应的事件才可能触发的 18.3通过打印来调试 1.健壮性 健壮性是print ...

  7. 善用Eclipse的代码模板功能

    转载自: 善用Eclipse的代码模板功能 Eclipse是个非常强大的IDE,作为一个JAVA程序员,几乎每天都与它打交道,但是它强大的功能都用到了吗? 今天让我们来看一下Eclipse中的“代码模 ...

  8. 关于“代码规范”,“Review”和“Check list”(续)

    在前两天的    关于“代码规范”,“Review”和“Check list”    一文中,我给自己列出了Check list,如下: 1.代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. ...

  9. Python面向对象高级编程:@property--把方法变为属性

    为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数: >>> ...

  10. 苹果手机input框上方有一条阴影线以及input框的placeholder颜色的设置

    今天做手机端的时候,用到input框来输入手机号码,但是在安卓手机上input的效果是正常的,在苹果手机上,input的上边框会变粗,有阴影 因为苹果手机的默认给input加上了阴影 给input加入 ...