Thinkphp5.0快速入门笔记(1)
学习来源与说明
https://www.kancloud.cn/thinkphp/thinkphp5_quickstart
测试与部署均在windows10下进行学习。
Composer安装和更新
Composer 是 PHP 用来管理依赖(dependency)关系的工具。可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
网址:https://www.phpcomposer.com/
下载:https://getcomposer.org/Composer-Setup.exe
ThinkPHP框架下载地址
[ Github ]
应用项目: https://github.com/top-think/think
核心框架: https://github.com/top-think/framework
[ 码云 ]
应用项目: https://git.oschina.net/liu21st/thinkphp5.git
核心框架: https://git.oschina.net/liu21st/framework.git
[ Coding ]
应用项目: https://git.coding.net/liu21st/thinkphp5.git
核心框架: https://git.coding.net/liu21st/framework.git
部署与测试
部署过程采用xampp搭建。
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。
下载完以后默认安装。安装完毕后打开xampp-control,如下界面。点击Apache的start和MySQL的start,允许网络,输入127.0.0.1测试。
Apache如果无法启动考虑端口占用问题,使用端口80,443。在cmd窗口下命令:netstat -ano查看端口占用情况,然后在任务管理器中找到占用端口的对应进程PID,结束掉,重新启动Apache试试。
测试完毕后,在Apache的Config下的httpd.conf文件打开,在文本最后(568行最后左右)编辑输入:
- <VirtualHost *:80>
- DocumentRoot "C:\xampp\htdocs\server\public"
- ServerName www.server.com
- </VirtualHost>
然后在C:\xampp\htdocs下建立文件夹server,将php框架解压到该文件夹下,检查对应出的public文件夹。
然后在C:\Windows\System32\drivers\etc中,找到host文件,修改属性,使可以编辑,然后在最后端添加:
- 192.168.0.103 www.matlabserver.com
使可以通过域名对应到网络ip。其中的192.168.0.103为本机对应在局域网的ip地址,用户应该在cmd窗口中使用ipconfig,自行查找对应的局域网ip地址。
最后测试,浏览器中输入ip,测试完毕后的效果如下:(当然啦,现在thinkPHP都出到6.0版本了,如果使用了5.1版本或者6.0,应该效果略有差异,但是不影响吧)
demo、控制器、视图、调试开关
demo
在ThinkPHP框架根路径打开cmd窗口,输入
- php think build --module demo
会在application/下生成demo代码作为示例。
控制器
控制器位于路径application/index/controller/Index.php。编辑该文件即对主页编辑。控制器的路径和public/index.php配置有关。
修改application/index/controller/Index.php文件,则修改了主界面,如:
- <?php
- namespace app\index\controller;
- class Index
- {
- public function index()
- {
- return 'Hello,World!';
- }
- }
视图
和demo一样,在application/index/下创建view文件夹,如图:
在之下创立hello.html,有如下内容:
- <html>
- <head>
- <title>hello {$name}</title>
- </head>
- <body>
- hello, {$name}!
- </body>
- </html>
修改application/index/controller/Index.php控制器为以下,则通过hello相互关联,控制器添加视图文件功能。(使用use声明继承方便,不适用use则需要class Index extends \think\Controller声明继承。
- <?php
- namespace app\index\controller;
- use think\Controller;
- class Index extends Controller
- {
- public function hello($name = 'thinkphp')
- {
- $this->assign('name', $name);
- return $this->fetch();
- }
- }
效果如下:(注意url访问 http://serverName/index.php/模块/控制器/操作)
调试开关
调试开关位于application/config.php,第20行左右修改为以下,则关闭了调试开关:
- 'app_debug' => false,
打开状态:
关闭状态:
与数据库连接
数据库在xampp下的打开方式,可以通过MySQL的admin打开,也可以在cmd窗口中操作。下图为在xampp下的打开mysql方式。
在cmd中操作,首先将环境变量添加到path中,然后再打开cmd窗口。下图为添加环境变量示例。
然后输入如下,进入mysql。
输入以下,创建id,data的数据库,插入三条数据。
- show databases;
- create database demo;
- use demo
- CREATE TABLE IF NOT EXISTS `think_data`(
- `id` int(8) unsigned NOT NULL AUTO_INCREMENT,
- `data` varchar(255) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
- INSERT INTO `think_data`(`id`,`data`) VALUES
- (1,'thinkphp'),
- (2,'php'),
- (3,'framework');
- select * from think_data;
一点效果:
在application/database.php中修改文件内容为:
- <?php
- return [
- // 数据库类型
- 'type' => 'mysql',
- // 服务器地址
- 'hostname' => '127.0.0.1',
- // 数据库名
- 'database' => 'demo',
- // 数据库用户名
- 'username' => 'root',
- // 数据库密码
- 'password' => '',
- // 数据库连接端口
- 'hostport' => '',
- // 数据库连接参数
- 'params' => [],
- // 数据库编码默认采用utf8
- 'charset' => 'utf8',
- // 数据库表前缀
- 'prefix' => 'think_',
- // 数据库调试模式
- 'debug' => true,
- ];
修改控制器代码为:
- <?php
- namespace app\index\controller;
- use think\Controller;
- use think\Db;
- class Index extends Controller
- {
- public function index()
- {
- $data = Db::name('data')->find();
- $this->assign('result', $data);
- return $this->fetch();
- }
- }
添加模板文件view/index.html,设立内容为:
- <html>
- <head>
- <title></title>
- </head>
- <body>
- {$result.id}--{$result.data}
- </body>
- </html>
保存,最终效果为:
成功连接上了数据库,然后输出第一条数据。
也可以尝试更改控制器代码第九行为:
- $data = Db::name('data')->where('id',2)->find();
输出数据库第二条数据。
参阅地址:https://www.kancloud.cn/manual/thinkphp5/135176
Thinkphp5.0快速入门笔记(1)的更多相关文章
- Thinkphp5.0快速入门笔记(3)
学习来源与说明 https://www.kancloud.cn/thinkphp/thinkphp5_quickstart 测试与部署均在windows10下进行学习. 快速入门第三节 获取当前的请求 ...
- Thinkphp5.0快速入门笔记(2)
学习来源与说明 https://www.kancloud.cn/thinkphp/thinkphp5_quickstart 测试与部署均在windows10下进行学习. 示例建立新的模块和控制器 在a ...
- Vue.js2.0快速入门笔记
vue.js 解耦视图与数据,可复用的组件,前端路由,状态管理,虚拟DOM. MVVM模式:当View(视图层)变化时,会自动更新ViewModel(视图模型),View与ViewModel之间双向绑 ...
- keras搭建神经网络快速入门笔记
之前学习了tensorflow2.0的小伙伴可能会遇到一些问题,就是在读论文中的代码和一些实战项目往往使用keras+tensorflow1.0搭建, 所以本次和大家一起分享keras如何搭建神经网络 ...
- ExtJs 6.0+快速入门,ext-bootstrap.js文件的分析,各版本API下载
ExtJS6.0+快速入门+API下载地址 ExtAPI 下载地址如下,包含各个版本 http://docs.sencha.com/misc/guides/offline_docs.html 1.使用 ...
- C#快速入门笔记(1)——基础语法
C#快速入门笔记(1)——基础语法 总体框架:
- python3.5+django2.0快速入门(二)
昨天写了python3.5+django2.0快速入门(一)今天将讲解配置数据库,创建模型,还有admin的后台管理. 配置数据库 我们打开mysite/mysite/settings.py这个文件. ...
- python3.5+django2.0快速入门(一)
因为这篇教程需要用到anaconda的一些操作,如果还不懂anaconda的操作的同学可以看下这篇文章python 入门学习之anaconda篇. 创建python3+的开发环境 直接在终端输入:co ...
- TensorFlow 2.0 快速入门指南 | iBooker·ApacheCN
原文:TensorFlow 2.0 Quick Start Guide 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活 ...
随机推荐
- 【SQL-JOIN】mysql中left joinn、right join、full join以及inner join
看到这两张图的时候就觉得太棒了,年轻的时候曾经爬了好多坑~~~~~~
- 手动搭建自己的nuget服务器及使用
这篇文章的主要目的: 1.搭建自己的私有的nuget服务器 2.打包代码为nuget包 3.在其他项目中使用私有服务器上的nuget包 一. 搭建自己的nuget服务器 1. 创建一个空的ASP.NE ...
- Javascript中escape(), encodeURI()和encodeURIComponent()之精析与比较
escape(), encodeURI()和encodeURIComponent()是在Javascript中用于编码字符串的三个常用的方法,而他们之间的异同却困扰了很多的Javascript初学者, ...
- Disruptor 详解 一
这篇博客将主要通过几个示例,简单讲述 Disruptor 的使用方法: 一.disruptor 简介 Disruptor 是英国外汇交易公司 LMAX 开发的一个无锁高性能的线程间消息传递的框架.目前 ...
- MySql中的SHOW INDEX 查出的结果列代表的意义
MySQL SHOW INDEX语法的实际操作用法以及其实际查看索引状态(语法)的具体内容的描述,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱. INDEX FROM tbl_nam ...
- Nginx+Lua+MySQL/Redis实现高性能动态网页展现
Nginx结合Lua脚本,直接绕过Tomcat应用服务器,连接MySQL/Redis直接获取数据,再结合Lua中Template组件,直接写入动态数据,渲染成页面,响应前端,一次请求响应过程结束.最终 ...
- 移动端APP热更新方案(iOS+Android)
出自:http://www.cnblogs.com/Creator/p/7007694.html 为什么要做热更新 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙 ...
- Spark 中 RDD的运行机制
1. RDD 的设计与运行原理 Spark 的核心是建立在统一的抽象 RDD 之上,基于 RDD 的转换和行动操作使得 Spark 的各个组件可以无缝进行集成,从而在同一个应用程序中完成大数据计算任务 ...
- Spring Boot 邮件发送的 5 种姿势!
邮件发送其实是一个非常常见的需求,用户注册,找回密码等地方,都会用到,使用 JavaSE 代码发送邮件,步骤还是挺繁琐的,Spring Boot 中对于邮件发送,提供了相关的自动化配置类,使得邮件发送 ...
- Skyline WEB端开发2——添加一个定位点、文本标签
Skyline 添加定位点 sgworld.Creator.CreatePosition CreatePosition( X, //兴趣点的东西方向坐标,即经度 Y, //兴趣点的南北方向坐标,即纬度 ...