top-think / think Goto Github PK
View Code? Open in Web Editor NEWThinkPHP Framework ——十年匠心的高性能PHP框架
Home Page: http://www.thinkphp.cn
License: Other
ThinkPHP Framework ——十年匠心的高性能PHP框架
Home Page: http://www.thinkphp.cn
License: Other
很多时候修改了代码,没有单元测试,会导致意想不到的结果,单元测试可以保证框架的稳定性和健壮性。
很喜欢tp4无后缀轻简命名方式, 但是类名不得使用保留关键字来命名, 所以定义了empty
控制器后触发访问未定义控制器时就会报如下错
syntax error, unexpected 'empty' (T_EMPTY), expecting identifier (T_STRING)
模块控制器等都去掉了层级后缀, 按照目前的规则在用户使用时可能常会遇到命名冲突.
重复输出到日志,是不是检测不到我的这个header?
TP4能否不要采用驼峰命名法,驼峰命名法在linux和windows下很纠结……比如控制器中的function用了驼峰命名法,那么在URL中,linux下要准确采用驼峰名字才能访问。
TP4 多了很多我很喜欢的特性,希望能够快速成熟起来。如果可以,我们也打算围绕TP4做一些相关的组件和模块。
不过,既然是new branch了,为何不采用更新的 PHP 5.5.x?应该到下半年的时候正好 PHP5.5 正式版也会推出了。反正 TP4 是没啥可能跑在现在国内的主流虚机上的了,不如直接用最新技术。
\think\Route::domain('vue','vue');
应该是放在哪个文件里面的
42行
} elseif (!preg_match('/\(' . $this->restTypeList . ')$/i', __EXT__)) {
应该为
} elseif (!preg_match('/\(' . $this->restTypeList . '\)$/i', __EXT__)) {
module中如果没有config文件,或者config文件内容为空的时候,原有的默认配置都不能加载了
问题应该是在config::set中,避免了非法参数产生的
已经在用.raml直接支持Angularjs的工具,十分方便,希望因为后端的Thinkphp也有这样的库或插件
TP4大概什么时候会发布正式版?
TP5 设置了主题模板,如果在Chrome 下清除浏览器数据后,模板主题的Cookie数据就不会再生成。重新访问也是没有模板主题数据。在Safari 下清除缓存倒不会出现该问题。【TP3.2无此情况】
E_STRICT: Declaration of traits\model\Relation::_after_find() should be compatible with think\Model::_after_find(&$result) in /thinkphp/library/think/model/Relation.php on line 18
E_STRICT: Declaration of traits\model\Relation::_after_select() should be compatible with think\Model::_after_select(&$resultSet) in /thinkphp/library/think/model/Relation.php on line 18
方法重写参数$options应该需要一个默认值 $options = [];
PSR0现在已经计划写进Spl了(据说下一个版本就有)。应该遵守一下。
composer…………不多说- -!
要是先能看看文档就好了,原来的TP4的文档找不着了。
期待早日发布
在Think\App.php 54行,$config是未定义的,所以没有读取到配置文件。
解决方法:
修复文件thinkphp/Library/Think/app.php这个文件.
在52处加一行代码:$config=Config::get();
看了下D方法,发现是用的Loader::model(),底层的实现没有太大的差别,依然是new $class($name);或者new Model($name);,这样在Zend Studio之类的IDE里面,很难提示自定义的方法,好痛苦啊。
为什么不在Model中写个获取实例的方法啊。
本以为5.0是一大步;现在看来除了文件名和文件夹换了个写法还有别的改变吗;一个人的目光终究看不远,tp最好成立一个开源组织,由开发组的人负责开发维护,不该再放在liu21st的个人账号下。没有嘲讽的意思,在这样下去tp只能成为新人练手的工具
怎么从4直接变5了?
版本跨越太快了吧
1. U方法如果没有参数,希望后缀也能加上 .html, 保持风格统一.
2. 如果是多模块,希望能有和老版本一样url中隐藏默认模块名.
这版本什么时候能发布正式版啊?感觉好久没动静了。。
第660行
$likeFields = $this->config['db_like_fields'];
这个配置是必须的吗?在database.php配置中没有看到,未配置出错
E_NOTICE: Undefined index: db_like_fields in '../db/driver.php'
错误位置 FILE: /disk/www/think5/thinkphp/library/think/template.php LINE: 35
版本发布有时间表么?对新版很多特性是很期待的!
想加入新框架的编写工作,贡献自己的代码,请问如何加入和协同,有没有相关计划!
希望能尽快完成这个分支的编写,很多人等着用,但是,还需要更多人参与进来。
TP从一开始到现在,共同奉献代码这块还太有限,不是很利于发展。大家都是捡现成的用。
希望更多时间能关注一下,如果协同安排任务,让更多优秀的开发者一块加入进来,相信慢慢的会更有影响力。
Model里调用cache()方法出错.
猜测是public function set($name, $value, $expire = null){}
中的$expire应该为过期时间但是传了整个$options['cache']
的配置参数过来.
www WEB部署目录
├─composer.json composer定义文件
├─thinkphp 框架目录
│ └─ ...
├─runtime 应用的运行时目录
├─application 应用目录
│ ├─ common
│ ├─ module
│ └─ .....
└─web 暴露对外目录
├─ index.php
├─ public
└─.htaccess 用于apache的重写
除了入口文件和public内容, 临时目录、框架目录及应用目录都无法直接访问. 这样的目录结构是否会更好些.
$file['hash'] = $fun($this->autoCharset($file['savepath'] . $file['savename'], 'utf-8', 'gbk'));
php7快发布了,希望 不要基于php5.4了,直接基于php7
controller核心类中dispatchJump仍然在使用display方法,
display方法是打算取消使用么?
thinkphp3时候的一些用__call()实现的方法现在没有了,count()等功能以后该怎么操作?
很期待不知道什么时候发布,希望快点出正式版!手册还不够好 辛苦大神了 yar 类会加进去不
必须得自己手动在 app/common.php 里 date_default_timezone_set('PRC');
SELECT * FROM
userWHERE
email= [email protected]
数据库是mysql 生成语句中的value没有没引号括起来,导致查询报错,这条语句是在哪个地方生成的?
thinkphp\library\think\db\driver.php LINE: 1132
Call to a member function quote() on null
escapeString方法是不是少了
$this->initConnect();
if (!$this->_linkID) {
return $str;
}
这个测试文件能不能对外公开!!!
我们看到的只有文件 ,看不到 测试过程
请公开 核心类库的测试!!!
贵方 想把这个做强 这个可以理解!!
为什么不能 依赖一下 composer 的 第三方库呢 , 说实话贵方的 model 确实很弱 ,
规范可以试着依赖一下 composer,里面拥有很多超强的库!!
无
降级 PHPCS 检查
降级 PHPCPD 检查
数量太多,不在此列出
取消 PHPMD 检查
TP的加密模块不安全,建议使用mcrypt或openssl扩展。
./thinkphp/library/org/crypt.php
赞
有没有人!!!!!!!!
真正的 composer 版的 thinkphp
希望thinkphp能够有更多的改变,越来越好。
看了一下5.0版的模板引擎基本和3.2版的一样。我在3.2版的模板引擎基础上写了一个改进版,自己试用感觉还可以,如果可以的话希望5.0版能用上这个。
下面先只说一下对原引擎改进的一些功能:
1.标签的替换过程和原来有所不同。不再是递归式的把标签及中间的内容传值到方法里进行替换,而是用正则查找出标签后,由后到前(这样才不会影响前面的标签)替换模板中的标签,不管同类标签嵌套多少层,都是在一个循环中完成的,对替换的性能无影响。整体解析速度提升。
2. 兼容原来所有的标签功能和用法,已 对正则进行了优化,标签库和内置的普通标签可以使用一样的边界符,比如都用"{}",只要不重名不会相互干扰,这样这些标签就可以和html标签区分开。
3.模板支持多级继承。
4. include标签支持多层嵌套,可以传变量。如:
在Public/nav模板用[selected]得到的是[$id}被解析后的值,而在3.2版中这样的写法是不能正确得到{$id}的值的。
5.增强了.语法的应用范围
{$user.name.$group.name} 解析后是
{:substr($varname.aa, $varname.bb)} 解析后是
.语法在各个标签中都可以使用,$a.b.c这样的形式都能正确解析成$a['b']['c']
6.增加了一些新的语法
{$varname.aa ?? 'xxx'} 表示如果有设置$varname则输出$varname,否则输出'xxx'。 解析后的代码为:
{$varname?='xxx'} 表示$varname为真时才输出xxx。 解析后的代码为:
{$varname ?: 'no'} 表示如果$varname为真则输出$varname,否则输出no。解析后的代码为:
{$a==$b ? 'yes' : 'no'} 前面的表达式为真输出yes,否则输出no, 条件可以是==、===、!=、!==、>=、<=
7. 对if标签及foreach也加了一些更简洁的用法
代码是在3.2版上写的,而5.0版结构有变动,我需要整理一下才能用到提交5.0版上来。
!!!!!!!!!!
亲.拥抱composer吧!!!
亲.拥抱composer吧!!!
如 I('get.id'); 得到的值是 12345678.html
之前trait没有在think目录,需要手工调用T函数,现在在think目录,而且也注册了命名空间,T()函数是不是没有存在的必要了?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.