第一次写博客,如有违规请私信我指出,我一定会继续改进!
安装与入门
环境配置
建议Win用户使用集成环境(phpStudy XAMPP WampServer)
第一个是国内大牛开发的,后边两个是国外大牛开发的,我使用的是WampServer
根据自己的喜好选择使用就可以啦!
Linux用户可以自己搭建LAMP/LNMP环境也可以下载XAMPP的Linux版本
配置Apache和C:\Windows\System32\drivers\etc\hosts
文件
配置hosts文件 添加以下文本到其中
127.0.0.1 www.tp5.com
配置Apache有两种配置方法一个是在httpd.conf中配置,另一个是在httpd-vhosts.conf中配置,两种方法的结果是一样的,httpd.conf会引入httpd-vhosts.conf文件。我用的是wamp集成环境,默认是引入这个文件的,所以我采用在httpd-vhosts.conf中配置,如果想在httpd.conf中直接配置,需要在Include前增加“ # ”表示注释本行。
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
具体配置代码如下
<VirtualHost *:80>
ServerName www.tp5.com #域名
DocumentRoot D:/wamp64/www/thinkphp/public #项目地址
<Directory "D:/wamp64/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
如果想实现多站点可以把上边的代码复制两次以此类推,更改域名和项目地址就可以了,还要注意在C:\Windows\System32\drivers\etc\hosts
文件中指定域名到127.0.0.1。
修改后注意要重启Apache哦!
下边是我的配置
vhosts配置
127.0.0.1 www.tp5.com
httpd-vhosts.conf配置
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp64/www/
<Directory "D:/wamp64/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.tp5.com
DocumentRoot D:/wamp64/www/tp5/public/
<Directory "D:/wamp64/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
Think PHP下载安装
- 框架目录结构
├─application 应用目录(可设置、控制器、模块、项目所开发的文件)
├─extend 扩展类库目录(可定义)
├─public WEB 部署目录(访问项目就是访问此目录下的index.php)
├─runtime 应用的运行时目录(可写,可设置、临时文件可以随时删除)
├─vendor 第三方类库目录(Composer)
├─thinkphp 框架系统目录
Think PHP配置文件
application\config.php
'app_debug' => true #打开调试模式
application\database.php
'type' => 'mysql' #据库类型
'hostname' => '127.0.0.1' #服务器地址
'database' => 'tp5' #数据库名
'username' => 'root' #用户名
'password' => '', #密码
'hostport' => '3306', #端口
'prefix' => 'tp_', #数据库表前缀
模块结构设计
├─index 模块目录(可更改)
│ ├─controller 控制器目录
│ ├─model 模型目录
│ ├─view 视图目录
│ ├─config.php 模块配置文件
│ ├─common.php 模块函数文件
初识Think PHP
模块结构创建
首先创建admin模块以及controller、model、view
├─admin
│ ├─controller
│ ├─model
│ ├─view
数据库
准备一个简单的用户数据库
--创建表结构
CREATE TABLE `tp5`.`user` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(6) NOT NULL ,
`password` VARCHAR(12) NOT NULL ,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
--插入表数据
INSERT INTO `tp_users` (`name`, `password`)
VALUES
('root', 'root'),('admin', 'admin'),('guest', 'guset'),('fangke', 'fangke');
use think\Db; #数据库类命名空间
Db::name('users')->find(); #自动去数据库中找这个表并查询一条记录 sql:select * from `tp_users` limit1
#name是Db这个类的一个方法,因为在数据库配置中设置了表前缀所以这里自动会加上前缀"tp_"
$this->assign('data',$data); #对模板变量赋值
$this->assign('name',$name); #对模板变量赋值
return $this->fetch(); #渲染到模板,可以自定义渲染模板;
#通过正则将模板变量替换成原始与HTML混编文件并执行后返回
为什么访问路径错误,还可以访问?
因为在public目录下有一个
.htaccess
文件(Apache伪静态配置文件)
<IfModule mod_rewrite.c> #判断模块是否存在
Options +FollowSymlinks -Multiviews
RewriteEngine On #伪静态模块开关
RewriteCond %{REQUEST_FILENAME} !-d #检查不是目录或不存在
RewriteCond %{REQUEST_FILENAME} !-f #检查不是文件或不存在
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] #将访问路径重写到index.php/的后面,最后参数传递给index.php文件。
</IfModule>
本篇编写耗时5个小时以上,因为是第一次写博客,用的还是Markdown编辑器,所以修修改改了很久,熬了一个通宵,终于大致写完了。
我的学习视频地址