标签: yii

addColumn yii迁移位置

我想在表格的第七位添加一列,我正在使用

$this->addColumn('table_name','column_name','type'); 
Run Code Online (Sandbox Code Playgroud)

最后添加列.有什么方法我可以提到添加列的地方吗?或者在列之后的任何关键字关键字中添加我的新列,例如,密码列.我从Yii Doc那里学到了很多移民

php migration yii yii1.x

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

如何在php中使用glob()返回文件名

我怎样才能返回文件名.$ image是否打印绝对路径名?

<?php
$directory = Yii::getPathOfAlias('webroot').'/uploads/';
$images = glob($directory . "*.{jpg,JPG,jpeg,JPEG,png,PNG}", GLOB_BRACE);
 foreach($images as $image)
   echo $image
?>
Run Code Online (Sandbox Code Playgroud)

我想要的只是特定目录中的文件名而不是绝对名称.

php yii

27
推荐指数
4
解决办法
3万
查看次数

yii中的基本隐藏字段

我试图将数据放在yii的隐藏文本中,但我不知道如何.我需要一个类似于常规php语法的代码:

<input type="hidden" name="field_name" value="a"/>
Run Code Online (Sandbox Code Playgroud)

它应该是一个静态值为a的字段.我只需要它与我的$ _POST变量一起进行错误检查.

是否有可能避免修改模型和控制器只是为了把字段放入?我不能使用gii因为我只有代码片段与我.虽然我对yii几乎没有了解所以我不知道我是什么我说最后两句话是对的.

php hidden field yii yii1.x

26
推荐指数
3
解决办法
5万
查看次数

Yii2全局过滤器/行为,强制用户首先进行身份验证

在我的Yii2应用程序中,我试图强制所有用户进行身份验证.如果它们尚未经过身份验证,则应将其重定向到登录页面.

在Yii1中,我通过创建一个类来检查用户是否已登录并将该类附加到onBeginRequest我的主配置文件中的行为来完成此操作.

// Yii 1
'behaviors' => array(
    'onBeginRequest' => array(
        'class' => 'application.components.RequireLogin',
    )
),
Run Code Online (Sandbox Code Playgroud)

如何在Yii2中获得相同的行为?我知道我可以使用行为来执行此操作,但我不想将此行为添加到我的主配置文件中,因此首先检查所有请求的身份验证.

工作行为方法如下所示:

// Yii2
public function behaviors() {
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['login', 'error'],
                    'allow' => true,
                ],
                [
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],
    ];
}
Run Code Online (Sandbox Code Playgroud)

php rbac yii yii2

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

从另一个控制器渲染一个视图,yii

控制器:

controllers
|-FooController.php
|-BarController.php
Run Code Online (Sandbox Code Playgroud)

观点:

view
|-foo|
|    |-index.php
|    |-error.php
|
|-bar|
     |-index.php
Run Code Online (Sandbox Code Playgroud)

如何使用条形控制器的动作呈现error.php视图?我试过了:

$this->render('foo/error');
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

yii yii1.x

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

Yii 2.0如何在没有<div class ="form-group">的情况下生成表单?

<?php $form = ActiveForm::begin(['id' => 'contact-form']); ?>
        <?= $form->field($model, 'email',  [
                'inputOptions' => [ 'placeholder' => 'Ihre E-Mail Adresse', 'class' => 'newsletter-cta-mail' ]
        ])->label(false)->textInput(); ?>
        <?= Html::submitButton('20€ Gutschein sichern', ['class' => 'green newsletter-cta-button', 'name' => 'contact-button', 'value' => 'hallo']) ?>
<?php ActiveForm::end(); ?>
Run Code Online (Sandbox Code Playgroud)

结果成:

<form id="contact-form" action="/" method="post" role="form">
<input type="hidden" name="_csrf" value="WFlFWnIwU1Y3HnQKSn06GG46PXcjQRUzNCA9KhRiYCxvFXQ9RHIiPA==">     <div class="form-group field-newsletterform-email required has-error">

<input type="text" id="newsletterform-email" class="newsletter-cta-mail" name="NewsletterForm[email]" placeholder="Ihre E-Mail Adresse">

<p class="help-block help-block-error">Verification Code cannot be blank.</p>
</div>  <button type="submit" class="green newsletter-cta-button" name="contact-button" value="hallo">20€ …
Run Code Online (Sandbox Code Playgroud)

php yii yii2

24
推荐指数
3
解决办法
2万
查看次数

Yii多页面表单向导最佳实践

我正在尝试使用Yii构建一个多页面的表单,但我对PHP和Yii很新,我想知道编写多页面表单的最佳实践是什么.到目前为止,我打算做的是添加一个名为"step"的隐藏字段,其中包含用户在表单中的当前步骤(表单分为3个步骤/页).所以考虑到这一点,这就是我打算如何处理用户点击Controller中的上一个/下一个按钮:

public function actionCreate()
 {
  $userModel = new User;

  $data['activityModel'] = $activityModel; 
  $data['userModel'] = $userModel; 

  if (!empty($_POST['step']))
  {
   switch $_POST['step']:
    case '1':
     $this->render('create_step1', $data);
     break;

    case '2':
     $this->render('create_step2', $data);
     break;

  }else
  {
   $this->render('create_step1', $data);
  }
 }
Run Code Online (Sandbox Code Playgroud)

这种方法有意义吗?或者我离开基地,在Yii/PHP中有更好,更优化的方法吗?

谢谢!

php yii yii1.x

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

何时使用组件以及何时在Yii中使用扩展?

我对protected /中的组件和扩展文件夹的目的有点困惑

请澄清.

yii yii-components yii-extensions

23
推荐指数
1
解决办法
5174
查看次数

Emberjs,服务器端与客户端,全部在?

我一直在研究Ember.js,它看起来真的很棒,但有一点让我担心,而且我无法理解它,如果我开始在已经运行的项目中使用它.

我最终是否必须移动客户端的所有内容,并在某些时候使我的应用程序成为单页应用程序?

让我澄清一下......

到目前为止,使用Ember在客户端和服务器之间进行通信的最佳方式是REST.这看起来很棒,但我不喜欢的是第一次加载所有模板.并将我服务器中的所有逻辑移动到客户端(或者我得到了所有这些错误?),因为看起来我的服务器端将成为无逻辑的REST API.

此外,我正在使用Yii Framework,它有一些JavaScript(支持Ajax)组件,如网格.如何在导航中使用ember与所有这些进行交互,而无需重写已经在我的应用程序上工作的一堆东西?

我在登录页面(或状态),然后在登录后,我必须显示一个网格,这对Yii来说很简单,并且整页加载,但如果我使用的是Ember,我怎么能拥有我的网格显示通常会如何?我是否必须预先加载网格的车把模板,以及控制它的JavaScript?

javascript php rest yii ember.js

23
推荐指数
2
解决办法
1972
查看次数

带链接的yii2按钮

我正在尝试设置一个带有视图链接的按钮.但是yii\bootstrap\Button没有属性'url'.我宁愿使用yii应该只使用平坦的PHP.下面的代码将是理想的情况,但由于"url"选项不存在,是否有其他方法可以使用yii解决此问题?

echo Button::Widget([
    'label' => 'label',
    'options' => ['class' => 'btn btn-primary'],
    'url' => Url::toRoute(['/controller/action']),
]);
Run Code Online (Sandbox Code Playgroud)

php yii yii2 yii-widgets

23
推荐指数
2
解决办法
7万
查看次数