标签: yii

包括Yii中的外部库

如何在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)

我不知道在哪里放置我的图书馆或如何/在哪里导入它.这只是我正在尝试做的一个例子,但我正在尝试创建一个具有多个名称空间的库,以便我可以访问该库并在导入后访问所有名称空间.

php namespaces class yii

9
推荐指数
1
解决办法
2万
查看次数

不测试组(PHPUnit支持@group注释)类的功能扩展自Netbeans中的Yii

目前我对Yii有一个问题,当我使用" @group annotation "(由PHPUnit支持)测试我的类中的组函数时,从Yii 扩展.

我在Yii (NetBeans IDE和Yii项目)的论坛中配置了指导.

当我按下Ctrl + F6时,我测试了我班上的所有功能.它运行得非常好.

但是当我使用" @group annotation "(support by PHPUnit)时.它没有运行,我没有看到对话框.

当我在对话框中选中"在运行测试之前询问测试组 "配置PHPUnit时.当我按Ctrl + F6时,我没有看到对话框.

我这里的问题是两个文件" bootstrap.php "和" phpunit.php ",但我不知道怎么改变它?

我对论坛Yii和演示代码有疑问.

php phpunit netbeans yii

9
推荐指数
1
解决办法
1297
查看次数

我应该像Yii一样使用带有MVC的smarty模板引擎吗?

我过去使用过smarty,在x-cart,jobberbase和Joomla的jomestate组件以及其他一些Joomla组件中也是如此.我看到X-cart中的东西非常紧密,许多事情似乎比在jobberbase中应该更复杂,我觉得这是因为聪明.

现在我将在客户建议的项目中使用Yii.而Yii本身就是MVC框架.那么我应该使用smarty吗?我想知道我应该使用smarty,我的意思是在Yii中会有一些使用smarty的优点吗?或不?或者它只是一个开销还是会有一些使用smarty的缺点?我理解聪明.但我认为这有时会让事情变得更复杂.所以我想从你们这里知道,由于框架不好或者存在一些现实,这只是一个主导思想,所以我应该使用smarty还是还有其他更好的东西呢?

template-engine smarty yii

9
推荐指数
1
解决办法
6711
查看次数

如何在Yii中禁用Ajax请求的jQuery自动加载?

我正在使用以下代码生成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不从资源加载自己的副本.我怎样才能做到这一点?

php jquery yii

9
推荐指数
2
解决办法
1万
查看次数

如何在yii下拉列表中选择默认值

我使用yii dropDownList在我的表单中创建下拉列表.我想要一个值例如'78'=>'selected'在下拉列表中选择默认值.我的下拉列表是

dropDownList($testcontroller,'testid',CHtml::listData(Phases::model()->findAllByAttributes(array('pid'=>$pid)), 'id', 'phaseName'));
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我这样做

谢谢 ;)

yii

9
推荐指数
1
解决办法
3万
查看次数

Yii2 RESTful Webservice:JSON请求格式

这是我的第一个问题:

我正在尝试使用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)

你有什么建议我做错了吗?

谢谢!

rest json web-services yii yii2

9
推荐指数
1
解决办法
1万
查看次数

你能从yii2-basic运行控制台作业吗?

我知道Yii2-advanced能够运行控制台作业(php yii controllername),但我想知道基本应用程序是否具有相同的能力?我注意到config文件夹中的console.php文件,但似乎无法运行作业.

如果有可能,有人可以给出一个例子 - 控制器在哪里(因为我把它放在控制器中,但是我在尝试php yii测试时收到消息'错误:未知命令测试')

任何帮助赞赏.

yii yii2

9
推荐指数
1
解决办法
5195
查看次数

如何在Yii2中插入批量数据库?

我想知道你是如何进行批量数据库INSERTYii2

例如正常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 …

mysql yii yii2

9
推荐指数
1
解决办法
2万
查看次数

如何在Yii2 Gridview中自定义默认数据确认对话框

我想更改浏览器的默认确认对话框(数据确认)框,点击删除按钮.

在此输入图像描述

我想用自定义对话框替换它.

以下是我的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)

javascript php jquery jquery-ui yii

9
推荐指数
2
解决办法
1万
查看次数

Yii2 - 检查用户是否已登录视图

我试图检查是用户登录我的视图文件,但我不断收到此错误:

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 yii2

9
推荐指数
1
解决办法
2万
查看次数