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

  • 相关阅读:
    Daily Scrum – 1/15
    Daily Scrum – 1/12
    Daily Scrum – 1/11
    Daily Scrum – 1/7
    Daily Scrum – 1/6
    Daily Scrum – 1/5
    Daily Scrum – 1/4
    1/13 update
    stand up meeting 1--11
    stand up meeting 1-6
  • 原文地址:https://www.cnblogs.com/bai2018/p/11291674.html
Copyright © 2011-2022 走看看