如何在Yii应用程序的任何位置调用这些库函数?我有一个图书馆:
#mylib.php
<?php
class MyLib {
public function foo()
{
echo "hello!";
}
}
Run Code Online (Sandbox Code Playgroud)
并希望能够在我的Yii应用程序中调用此功能:
MyLib::foo();
Run Code Online (Sandbox Code Playgroud)
我不知道在哪里放置我的图书馆或如何/在哪里导入它.这只是我正在尝试做的一个例子,但我正在尝试创建一个具有多个名称空间的库,以便我可以访问该库并在导入后访问所有名称空间.
目前我对Yii有一个问题,当我使用" @group annotation "(由PHPUnit支持)测试我的类中的组函数时,从Yii 扩展.
我在Yii (NetBeans IDE和Yii项目)的论坛中配置了指导.
当我按下Ctrl + F6时,我测试了我班上的所有功能.它运行得非常好.
但是当我使用" @group annotation "(support by PHPUnit)时.它没有运行,我没有看到对话框.
当我在对话框中选中"在运行测试之前询问测试组 "配置PHPUnit时.当我按Ctrl + F6时,我没有看到对话框.
我这里的问题是两个文件" bootstrap.php "和" phpunit.php ",但我不知道怎么改变它?
我对论坛Yii和演示代码有疑问.
我过去使用过smarty,在x-cart,jobberbase和Joomla的jomestate组件以及其他一些Joomla组件中也是如此.我看到X-cart中的东西非常紧密,许多事情似乎比在jobberbase中应该更复杂,我觉得这是因为聪明.
现在我将在客户建议的项目中使用Yii.而Yii本身就是MVC框架.那么我应该使用smarty吗?我想知道我应该使用smarty,我的意思是在Yii中会有一些使用smarty的优点吗?或不?或者它只是一个开销还是会有一些使用smarty的缺点?我理解聪明.但我认为这有时会让事情变得更复杂.所以我想从你们这里知道,由于框架不好或者存在一些现实,这只是一个主导思想,所以我应该使用smarty还是还有其他更好的东西呢?
我正在使用以下代码生成ajax请求:
echo CHtml::dropDownList('teamA', '', EnumController::getTeamOption(), array(
'empty' => '(Team / Single)',
'ajax' => array(
'type'=>'POST',
'url'=> $url,
'update'=>"#resultA",
//'data'=>"js:$('#teamA').hide().fadeIn()"
)
)
);
Run Code Online (Sandbox Code Playgroud)
在我的主要布局中,我有以下内容:
<?php Yii::app()->clientScript->scriptMap=array('jquery.js'=>false);?>
<?php Yii::app()->clientScript->scriptMap=array('jquery.min.js'=>false);?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
Yii正在从资产中加载jQuery副本,然后是 - 另一个副本,直接来自Google.我只想使用Google副本并强制Yii不从资源加载自己的副本.我怎样才能做到这一点?
我使用yii dropDownList在我的表单中创建下拉列表.我想要一个值例如'78'=>'selected'在下拉列表中选择默认值.我的下拉列表是
dropDownList($testcontroller,'testid',CHtml::listData(Phases::model()->findAllByAttributes(array('pid'=>$pid)), 'id', 'phaseName'));
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我这样做
谢谢 ;)
这是我的第一个问题:
我正在尝试使用Yii2构建RESTful Web服务.Controller从ActiveController扩展并具有相应的模型.读取数据工作正常,没有问题.
但是当我尝试创建新对象时,我遇到了错误.我使用Chrome扩展程序Advanced Rest Client并发布以下数据:
{
"team": 1
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过不同的格式.
但我总是得到这样的回应:
[{
"field":"team",
"message":"Team cannot be blank."
}]
Run Code Online (Sandbox Code Playgroud)
你有什么建议我做错了吗?
谢谢!
我知道Yii2-advanced能够运行控制台作业(php yii controllername),但我想知道基本应用程序是否具有相同的能力?我注意到config文件夹中的console.php文件,但似乎无法运行作业.
如果有可能,有人可以给出一个例子 - 控制器在哪里(因为我把它放在控制器中,但是我在尝试php yii测试时收到消息'错误:未知命令测试')
任何帮助赞赏.
我想知道你是如何进行批量数据库INSERT的Yii2?
例如正常INSERT我想这样:
$sql = $this->db("INSERT INTO some_table(id,my_value) VALUES(:id,:my_value)");
$sql->bindValues([':id' => $id, ':my_value' => $my_value]);
$sql->execute();
Run Code Online (Sandbox Code Playgroud)
现在如果我想创建一个批量INSERT怎么办?
没有绑定值,你可以这样:
foreach ($foo as $bar) {
$data_sql .= '(' . $id . ',' "'" . $bar . "'),"
}
$data_sql = rtrim($data_sql, ',');
$sql = $this->db("INSERT INTO some_table(id,my_value) VALUES" . $data_sql);
$sql->execute();
Run Code Online (Sandbox Code Playgroud)
但是如果你仍然想要绑定值,你怎么能实现这个呢?
编辑:此问题与我未使用的链接问题不同ActiveRecord.
编辑2:
理想情况下,如果有一个提供一些灵活性的解决方案,例如能够编写您自己的大部分语法,那将是一件好事,作为下面发布的答案之一:
Yii::$app->db->createCommand()->batchInsert('tableName', ['id', 'title', 'created_at'], [
[1, 'title1', '2015-04-10'],
[2, 'title2', '2015-04-11'],
[3, 'title3', '2015-04-12'],
])->execute();
Run Code Online (Sandbox Code Playgroud)
......不提供.对于这种特殊情况,我需要使用IGNORE …
我想更改浏览器的默认确认对话框(数据确认)框,点击删除按钮.

我想用自定义对话框替换它.
以下是我的Gridview代码:
<?=
GridView::widget([
'dataProvider' => $dataProvider,
//'filterModel' => $searchModel,
'columns' => [
//['class' => 'yii\grid\SerialColumn'],
'account',
'code',
[
'class' => 'yii\grid\ActionColumn',
'header' => 'Action',
'template' => ' {update} {delete}',
'buttons' => [
'update' => function ($url, $model) {
return Html::a('<span class="btn-xs btn-primary">Edit</span>', $url, [
'title' => Yii::t('app', 'Edit'),
]);
},
'delete' => function ($url, $model) {
return Html::a('<span class="btn-xs btn-danger">Delete</span>', $url, [
'title' => Yii::t('app', 'Delete'),
//'data-confirm'=>'Are you sure you want to delete this item?',
'data-method'=>'POST'
]);
} …Run Code Online (Sandbox Code Playgroud) 我试图检查是用户登录我的视图文件,但我不断收到此错误:
Call to undefined method Yii::app()
Run Code Online (Sandbox Code Playgroud)
我尝试在app之前添加$,但错误仍然存在(这次是Undefined变量:app).有可能这是观点吗?
这是我用来检查用户是否记录的代码:
<?php
if(Yii::app()->isGuest)
echo 'User is not logged!';
?>
Run Code Online (Sandbox Code Playgroud) yii ×10
php ×4
yii2 ×4
jquery ×2
class ×1
javascript ×1
jquery-ui ×1
json ×1
mysql ×1
namespaces ×1
netbeans ×1
phpunit ×1
rest ×1
smarty ×1
web-services ×1