zoukankan      html  css  js  c++  java
  • 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:xampphtdocsserverpublic"
        ServerName www.server.com
    </VirtualHost>
    

     然后在C:xampphtdocs下建立文件夹server,将php框架解压到该文件夹下,检查对应出的public文件夹。

     然后在C:WindowsSystem32driversetc中,找到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 appindexcontroller;
    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 hinkController声明继承。

    <?php
    namespace appindexcontroller;
    use thinkController;
    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 appindexcontroller;
    use thinkController;
    use thinkDb;
    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

  • 相关阅读:
    第一节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表、验证码表、轮播图表
    Tensorflow 错误:Unknown command line flag 'f'
    Python 多线程总结
    Git 强制拉取覆盖本地所有文件
    Hive常用函数 傻瓜学习笔记 附完整示例
    Linux 删除指定大小(范围)的文件
    Python 操作 HBase —— Trift Trift2 Happybase 安装使用
    梯度消失 梯度爆炸 梯度偏置 梯度饱和 梯度死亡 文献收藏
    Embedding 文献收藏
    深度学习在CTR预估中的应用 文献收藏
  • 原文地址:https://www.cnblogs.com/bai2018/p/11291674.html
Copyright © 2011-2022 走看看