草庐IT

php - 我应该继续依赖代码生成来生成我的模型和 CRUD 吗?

随着我对Yii的深入研究,我现在想知道依赖Gii和Giix来生成我的模型和“管理”CRUD是否可能是一个拐杖而不是一个节省时间的工具。很多时候在小项目的开始阶段,它帮助我更快地进行,让我专注于数据库设计。然而,每当我对我的表结构或关系进行更改时,我发现自己不得不依赖GiiX来重新生成模型。在我这样做之前,我总是复制我编写的模型部分,以便以后可以将其粘贴到更新的模型中。这似乎是一件乏味的事情,我现在想知道它是否真的节省了我的时间。我有几个问题:特别是对于Yii用户,一旦您使用Yii一段时间后,您还会为Gii或GiiX而烦恼吗?你放弃使用它是因为它不再有用,还是因为它是拐杖?您是否致力于编

php - 如何定义一个在应用程序中随处可用的全局常量?

我如何定义一个UPLOAD_DIR常量(或等效的)以便我可以在任何地方使用它?我尝试将其作为应用程序配置参数'params'=>array('upload_dir'=>Yii::app()->baseUrl.'/images/uploads/',),但是Yii::app()->baseUrl不能在配置文件中使用。 最佳答案 您可以在index.php中执行此操作,在调用Yii::createApplication之后和Yii::app()->run()之前:define('UPLOAD_DIR',Yii::app()->baseUr

php - 授予对 Yii2 模块的访问权限

在Yii2中可以通过RBAC方法(Role、Permission)设置访问模块的权限吗?我想允许具有特殊角色的用户访问我的模块之一。 最佳答案 我为此目的使用过滤器:'modules'=>['roles'=>['class'=>'aj\admin\Module','asaccess'=>['class'=>'yii\filters\AccessControl','rules'=>[['allow'=>true,'roles'=>['Administrator'],]]],] 关于php-

php - yii2 中的分页按钮限制

我需要在我的gridview分页中只显示3个元素,然后在按钮分页中显示3个按钮,但按钮动态变化。示例按钮分页:[1]-2-3...点击第二个元素[2]-3-4...我的代码:publicfunctionsearch($params){$query=Area::find();$dataProvider=newActiveDataProvider(['query'=>$query,'pagination'=>['pageSize'=>3,],]);谢谢!! 最佳答案 您可以在gridview中使用pager属性执行此操作$dataPro

php - Yii2 : How to pass additional parameters to listview

我阅读了这篇文章并回答了SongwutK.在这个问题中给出的答案:Yii2ListViewanddataprovider但我想知道可以在_item中使用第二个模型。假设_item是论坛中的一篇帖子,它从$model中检索数据,但我想使用一个不同的模型,比如$comment来对这篇帖子发表评论,并将帖子和评论一起作为一个_item查看。想象一下,该项目在facebook上发布,它仅显示撰写此帖子的文本、日期和用户。但是我如何从其他模型对此添加评论?我只想将我的$comment传递给_itemView。我尝试在我的Controller中添加新的Commnet:publicfunctiona

php - 从 cdbcommand Yii 获取查询结果

过去两个小时我一直在尝试从我的查询中获取结果,在我的模型中我有这个publicfunctiongetQuotes(){$data=Yii::app()->db->createCommand('Selectfrommfromcity_fare_final');$data->queryRow();return$data;}在Controller中publicfunctionactionIndex(){//renderstheviewfile'protected/views/site/index.php'//usingthedefaultlayout'protected/views/layo

php - 通过 composer 安装 Yii2 失败

我想通过composer安装yii2,它给我一个错误这里是错误:Yourrequirementscouldnotberesolvedtoaninstallablesetofpackages.Problem1-yiisoft/yii22.0.9requiresbower-asset/jquery2.2.*@stable|2.1.*@stable|1.11.*@stable|1.12.*@stable->nomatchingpackagefound.-yiisoft/yii22.0.8requiresbower-asset/jquery2.2.*@stable|2.1.*@stable|1

php - 多对多,另一列

我想知道是否有人遇到过这个问题。假设我有两个表:产品和购物车(多对多相关)。现在,连接表有额外的列-数量(购物车中有多少特定类型的产品)。我的问题是我无法通过以下关系访问“金额”列:publicfunctionrelations(){returnarray('products'=>array(self::MANY_MANY,'Product','cart_products(cart_id,product_id)'),);}我也试过:'products'=>array(self::HAS_MANY,'Product','product_id','through'=>'cart_produ

php - 为什么将框架文件夹放在公共(public)根目录之外更安全?

为什么总是建议将框架文件放在公共(public)根目录之外?鉴于有时框架没有可以通过浏览器打开的.ini或.inc文件。 最佳答案 好吧,将框架源代码放在Web根目录中肯定得到任何东西。由于选择放置文件的位置是自由的,因此使用principleofleastprivilege是合乎逻辑的。:您不需要通过Web访问这些文件,因此您不会得到它。一个更具体的原因是,框架源可以很容易地披露网站上使用的框架的品牌和版本(尽管通常也可以通过检查生成的内容来获得这些信息);这反过来又可以使恶意用户更容易利用已知或新发现的漏洞。

php - Yii 命令行不自动加载模型

我正在尝试使用Yii在命令行上运行命令。我的方法需要一个模型,但是当我运行命令时,Yii说模型不存在,就好像它没有自动加载它一样。我的类(class)相当简短:classImportCommandextendsCConsoleCommand{publicfunctionactionIndex(){}publicfunctionactionImport(){ini_set("display_errors",1);set_time_limit(0);$cores=Core::model()->findAll(array('limit'=>300000));foreach($coresas$