标签: yii2-advanced-app

将Yii2应用程序部署到共享主机步骤

我觉得奇怪的是,关于将Yii2应用程序部署到共享主机服务器的注意事项很少(如果有的话)的细节。

有人对此有一些步骤,技巧和注意事项吗?

您是否遵循某个流程将问题/错误降低到最低限度?

数据库如何迁移(随数据一起迁移)?我假设我可以导出/导入数据库,直接复制Yii应用程序文件夹,但这似乎太简单了吗?

yii2 yii2-advanced-app

5
推荐指数
1
解决办法
9742
查看次数

命名空间不使用Codeception(Yii2)

我在Yii2中使用Codeception进行验收测试,并且无法访问我的模型,因为名称空间不适用于这些测试.

我在我的tests/_bootstrap.php中有这个

 require(__DIR__ . '/../vendor/autoload.php');
 require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

 $config = require(__DIR__ . '/../console/config/main.php');
 //
 $application = new yii\console\Application( $config );

 ## Added (@vitalik_74)
 Yii::setAlias('@tests', dirname(__DIR__));
Run Code Online (Sandbox Code Playgroud)

这在我的console/config/main中

 <?php
 $params = array_merge(
     require(__DIR__ . '/params.php'),
     require(__DIR__ . '/params-local.php')
 );

 return [
     'id' => 'app-console',
     'basePath' => dirname(__DIR__),
     'bootstrap' => ['log'],
     'controllerNamespace' => 'console\controllers',
     'components' => [
         'log' => [
             'targets' => [
                 [
                     'class' => 'yii\log\FileTarget',
                     'levels' => ['error', 'warning'],
                 ],
             ],
         ],
     ],
     'params' => $params,
 ];

 <?php
 return [
     'adminEmail' …
Run Code Online (Sandbox Code Playgroud)

namespaces yii2 codeception psr-4 yii2-advanced-app

5
推荐指数
1
解决办法
1457
查看次数

Yii2 rest api没有返回响应代码和状态

我试图得到(StatusCode)响应REST api,而它只返回字段名称和错误消息,如下所示

[{"field":"Email","message":"Email \"ali@ali.ali\" has already been taken."}]
Run Code Online (Sandbox Code Playgroud)

我添加了回复

'response' => [
        'class' => 'yii\web\Response',
        'on beforeSend' => function ($event) {
            $response = $event->sender;
            if ($response->data !== null && Yii::$app->request->get('suppress_response_code')) {
                $response->data = [
                    'success' => $response->isSuccessful,
                    'data' => $response->data,
                ];
                $response->statusCode = 200;
            }
        },

    ],
Run Code Online (Sandbox Code Playgroud)

php rest yii yii2 yii2-advanced-app

5
推荐指数
2
解决办法
3831
查看次数

删除不起作用方法不允许(#405)gridview yii2

这是我的网格视图,我从类更改actionColumn为:

[   'format' => 'html',
            'contentOptions'=>['style'=>'width: 5px;'],
            'value' => function($model) {
                if($model->id == Yii::$app->user->identity->id) {
                    return  Html::a('<i class="glyphicon glyphicon-share-alt"></i>').' '. 
                            Html::a('<i class="glyphicon glyphicon-pencil"></i>', ['update', 'id' => $model->id]).' '.
                            Html::a('<i class="glyphicon glyphicon-trash"></i>', ['delete', 'id' => $model->id], ['data' => ['confirm' => 'Do you really want to delete this element?','method' => 'post']]);
                }
                return '';
            },
        ],
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误。

Method Not Allowed (#405)

Method Not Allowed. This url can only handle the following request methods: POST. 
Run Code Online (Sandbox Code Playgroud)

当我actionColumn再次更改它时,它可以正常工作,但是我更改了代码,这只是给我一个错误。

jquery yii2 yii2-advanced-app yii2-basic-app

5
推荐指数
1
解决办法
2913
查看次数

Yii2:我可以使用场景为不同的动作指定不同的模型字段集吗?

我可以在Yii2模型页面(http://www.yiiframework.com/doc-2.0/yii-base-model.html)中看到,在"字段"部分中,您可以根据某些字段设置"不同的字段列表"上下文信息.例如,根据$ scenario或当前应用程序用户的权限,您可以返回不同的可见字段集或过滤掉某些字段."

但是,场景文档(http://www.yiiframework.com/doc-2.0/guide-structure-models.html#scenarios)表示场景用于为模型属性验证创建不同的上下文.

我正在使用Yii2 Restful API,我必须使用默认操作(actionIndex,actionView,...)从模型中获取数据并显示为API结果.我知道我可以覆盖那些方法(http://www.yiiframework.com/doc-2.0/guide-rest-controllers.html#extending-active-controller),但我怎么能说在那些方法中使用不同的方法字段(取决于不同的场景)?

我需要的是为actionIndex(项目列表)输出field1,field2,field3,但我想为actionView(项目列表)输出field1,field2,field3,field4.

yii2 yii2-advanced-app yii2-model

5
推荐指数
1
解决办法
4605
查看次数

Yii2 isGuest在控制台应用程序中给出异常

在我使用Yii::$app->user->isGuest它的控制台应用程序中给出以下异常:

Exception 'yii\base\UnknownPropertyException' with message 'Getting unknown prop
erty: yii\console\Application::user'
Run Code Online (Sandbox Code Playgroud)

我甚至尝试在配置文件中添加组件数组中的用户.但它没有奏效.知道我做错了什么吗?

yii2 yii2-advanced-app

5
推荐指数
1
解决办法
3757
查看次数

高级模板安装问题[ErrorException] touch():Utime失败:权限被拒绝

我正在使用YII2作为我的项目,我使用composer创建了一个项目(高级模板),现在我需要启动另一个项目,首先我有更新composer(composer self-update),这很好.现在我正在尝试使用composer在我的lampp上完成YII2高级模板的安装过程,在配置Composer得到以下错误的步骤中,

[ErrorException]

touch():Utime失败:权限被拒绝

有人可以帮助我,为什么在第二次安装时会出现问题?
谢谢

lampp composer-php yii2 yii2-advanced-app

5
推荐指数
1
解决办法
600
查看次数

Yii2 Listview与ajax的分页

我正在研究yii2框架.使用listview wiget时遇到麻烦.当我点击下一页时,我想更新页面但不重新加载.但我不知道怎么办?点击下一页时这是网址:

http://......&page=1&per-page=5
Run Code Online (Sandbox Code Playgroud)

请帮我?

非常感谢.

yii2 yii2-advanced-app

5
推荐指数
1
解决办法
3326
查看次数

如何从Select2 Widget Yii2向数据库保存多个值

我使用kartik - yii2-widget-select2允许选项在表单创建时选择多个选项.

我想根据select2小部件中选择的选项数量向数据库输入两行或更多行.

表单中的select2小部件如下所示.

<?= $form->field($model, 'Assign_task_to')->widget(Select2::classname(), 
//$data = ArrayHelper::map(Employee::find()->all(),'Employee_ID','employee_name'),
[
'data' => ArrayHelper::map(Employee::find()->all(),'Employee_ID','employee_name'),
'language' => 'en',
'options' => ['placeholder' => 'Select an employee ...', 'multiple' => true],
'pluginOptions' => [
    'allowClear' => true
],
]); ?>
Run Code Online (Sandbox Code Playgroud)

控制器actionCreate在下面.

public function actionCreate()
{

    // set default values
    $empModel = new Tasksemp();
    $model = new Tasks();
    $model->priotiy_level = 'medium';
    $model->start_date = date('Y-m-d'); //to get default date
    if ($model->load(Yii::$app->request->post())) {


        //Check if field input is empty

        $model->file = UploadedFile::getInstance($model, 'upload_documents');


        if($model->file)
        { …
Run Code Online (Sandbox Code Playgroud)

php database yii2 yii2-advanced-app select2

5
推荐指数
1
解决办法
3027
查看次数

以Yii2格式添加仅字母验证

我想从特殊字符验证我的名字文本框

我试试这个: -

public function rules() 
{
   [
       'full_name', 'match',
       'pattern' => '/^[a-zA-Z\s]+$/',
       'full_name' => 'full_name can only contain word characters'
   ]
}
Run Code Online (Sandbox Code Playgroud)

yii yii2 yii2-advanced-app

5
推荐指数
1
解决办法
163
查看次数