thinkphp项目的配置文件夹是哪个

thinkphp项目的配置文件夹是哪个,第1张

ThinkPHP\Common文件夹中的conventionphp中是tp的核心配置文件,不能乱动,如果要想更改里面的配置,在Conf 文件夹里面的configphp可以配置,可以这样写

<php

return array(

'DB_TYPE' => 'mysql',// 数据库类型

'DB_HOST' => '127001',// 数据库服务器地址

'DB_NAME' => 'thinkphp',// 数据库名称

'DB_USER' => 'root',// 数据库用户名

'DB_PWD' => '123',// 数据库密码

'DB_PREFIX' => 'tp_',// 数据表前缀

'DB_CHARSET' => 'utf8',// 网站编码

'DB_PORT' => '3306',// 数据库端口

'APP_DEBUG' => false,// 开启调试模式

);

这个应该需要自己创建。

准备工作

首先从官方下载ThinkPHP50,下载后文件结构如下:

只保留thinkphp目录其他的所有目录及文件一并删除(可以先转移到其他地方,以备后续使用)

现在就开始生成项目需要目录

thinkphp32创建目录貌似简单,但是thinkphp50却更加灵活。不禁想起了良才是把复杂的事情变简单;庸才是把简单的事情变复杂;蠢材是把简单的事情变得更简单,复杂的事情变得更复杂。

1创建入口文件indexphp,虽然官方强调入口文件位置,可以随意放置,但是为了便于学习,还是放在根目录下

[php] view plain copy

// 应用入口文件

define('APP_PATH', 'application/'); // 定义项目路径,和之前32版本没有区别

define('APP_AUTO_BUILD',true); //开启自动生成

define('APP_DEBUG', true);// 开启调试模式

define('MODULE','module');

// 加载框架引导文件

require 'thinkphp/startphp';

// 执行应用

\think\App::run();

其实我个人觉得,TP官方为啥不把,程序的执行\think\App::run(); 放置在startphp 目录呢最后,发现原来TP50引入了一个define('APP_AUTO_RUN', true);常量,当在indexphp页面定义了改常量,项目就会自动执行,不需要添加\think\App::run();

2创建项目名与buildphp文件

个人感觉thinkphp50做的不好的一点就是上面定义的项目文件夹需要自己创建,究其原因,因为里面要放置项目创建配置文件buildphp。但是为啥TP官方不把buildphp放置在根目录下呢?然后自动生成application文件夹呢?在这一点我觉得TP32做的就比50好。

现在来讨论一下buildphp,官方默认的bulidphp内容如下,现在来讨论一下

[php] view plain copy

return [

// 生成运行时目录

'__dir__' => ['runtime/cache', 'runtime/log', 'runtime/temp', 'runtime/template'],

'__file__' => ['commonphp'],

// 定义index模块的自动生成

'index' => [

'__file__' => ['commonphp'],

'__dir__' => ['behavior', 'controller', 'model', 'view'],

'controller' => ['Index', 'Test', 'UserType'],

'model' => [],

'view' => ['index/index'],

],

// 。。。 其他更多的模块定义

];

可以给每个模块定义需要自动生成的文件和目录,以及MVC类。

__dir__ 表示生成目录(支持多级目录)

__file__ 表示生成文件(不定义默认会生成 configphp 文件)

controller 表示生成controller类

model表示生成model类

view表示生成html文件(支持子目录)

自动生成以APP_PATH 为起始目录, __dir__ 和 __file__ 表示需要自动创建目录和文件,其他的则表示

为模块自动生成。

模块的自动生成则以 APP_PATH'模块名/' 为起始目录。

最后直接运行indexphp文件即可。

用Widget,渲染输出是可以做到的

在Lib/Widget/下新建一个文件命名为TestWidgetclassphp文件:

代码

<php

class TestWidget extends Widget{

public function render($data) {

return $this->renderFile("test_page",$data);

}

}

在Lib/Widget/Test/下新建一个文件test_pagehtml把你上面从数据库中读的代码放入test_pagehtml中。

然后在其它模板中这样调用{:W('Test',array())}

这只是一个基本例子。具体项目中你可以把你从数据库读出的代码动态保存入Lib/Widget/Test/test_pagehtml中。在调用 return $this->renderFile("test_page",$data);

遇到的情景:TP框架中,如果一个SQL语句是错误的,当执行该SQL时页面就会报错结束执行,所以也就无法用$this->getLastSql()打印出错误的语句。

问题:想要查看那条错误的SQL语句是怎样的

解决方法:如图,在Driverclassphp中parseSql函数中加上一句 echo $sql'<br />'; 就可以在页面中打印出所有执行的SQL语句(不管是正确的还是错误的都会打印出来)!

当应用量多的程序时,tp5框架还能用。

tp51 是有多应用功能的,所以当应用量多的程序时,tp5框架是还能用的。

在tp50 的时候,可以创建多个应用,public 下创建目录。设置app_path ,就可以实现了。

thinkphp 50 为API开发而设计的的高性能框架,是与以往thinkphp50以下版本大不相同的新型框架,病对以颠覆和重构版本,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载。

thinkphp 50 支持composer,并针对API开发做了大量的优化,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构。

1:无法访问,添加如下的配置:

2:模块不存在:captcha

发现vender目录下面没内容

我们使用composer install安装我们在开发时候的库,

但是报了如下错误:

是由于composer的源导致的,我们做一个配置:

网上说有三个镜像:

更换成阿里镜像:composer config -g repopackagist composer >

以上就是关于thinkphp项目的配置文件夹是哪个全部的内容,包括:thinkphp项目的配置文件夹是哪个、thinkphp5.0 怎么生成index.tpl、tp5 用户自己写一个标签然后存入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10193910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存