小编Asg*_*oth的帖子

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

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

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

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

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

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

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

javascript php rest yii ember.js

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

在Yii上创建小部件的步骤?

我在给定视图上有以下代码:

<?php
    $form = $this->beginWidget('CActiveForm', array(
        'id' => 'home-newsletter-form',
        'enableAjaxValidation' => false,
        'enableClientValidation' => true,
            ));

    echo $form->textField($newsletterSubscribeForm, 'email');
    echo $form->error($newsletterSubscribeForm, 'email');
    echo CHtml::link("subscribe", "#", array('class'=>'btSubscribe'));
    $this->endWidget(); 
?>
Run Code Online (Sandbox Code Playgroud)

碰巧我需要在MORE和一个视图上使用它,所以我发现一个小部件是一个更好的选择.但是我希望将它放在一个单独的文件上(在app/widgets /文件夹中),并在每个视图上调用.

任何人都可以请他告诉我我们应该遵循哪些步骤才能实现这一目标?

php yii

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

Ember.js中的州没有使用路线?

我试图了解Ember.js中的状态是否仅被设计/假设在路径管理器中定义,以及路由是否是Ember的组成部分.几乎所有我看过的指南似乎都假设您希望状态和路线完全匹配.

我想创建不依赖于路由的状态,而只是创建应用程序的状态.例如,在电子邮件客户端中,我可能具有"userHasSpecifiedRecipient"状态.仅当此状态为true时,我才能启用表单的消息框.但显然我不希望网址是:

myEmailClient.com#composingMessage_userHasSpecifiedRecipient_userIs... 等等

有这样的例子吗?

第二个问题:我可以混合与路线和状态相结合的状态吗?

最后:我看到一些建议,建议人们使用Ember的sproutcore-statechart插件,如果他们想要并发状态之类的东西.这仍然是真的吗?

routes statechart ember.js

8
推荐指数
1
解决办法
2580
查看次数

Yii注册CSS文件,成为最后一个(资产之后)

是否有一种方法在Yii中注册js或css文件,以便在资产管理器加载后加载它们.

我使用css文件来覆盖某些Yii扩展的样式,但是Yii在扩展名生成的资产之前包含了我的文件.

我知道我可以更改扩展名以从资产管理器中删除css文件并手动添加它们,registerCssFile但这不是我想要这样做的方式.

这就是我所拥有的:

<head>
...
    <link rel="stylesheet" type="text/css" href="/css/MY_CSS.css" />
...
    <link rel="stylesheet" type="text/css" href="/assets/8e838803/css/EXTENSION_CSS.css" />
...
</head>
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

<head>
...
    <link rel="stylesheet" type="text/css" href="/assets/8e838803/css/EXTENSION_CSS.css" />
...
    <link rel="stylesheet" type="text/css" href="/css/MY_CSS.css" /> <!-- the last one -->
</head>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

css php registration yii

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

获取YII中的所有"页面"?

我正在尝试创建自己的xml站点地图.一切都已完成,除了我认为最容易的部分.如何获得网站上所有页面的列表?我在/ site文件夹和其他一些文件夹中有很多视图.有没有办法明确请求他们的URL或可能通过控制器?

我不想使用扩展名

php sitemap yii

8
推荐指数
1
解决办法
1583
查看次数

CModel与CFormModel对比CActiveRecord

我正在yii中构建一个数据库密集型应用程序.因此,性能和安全性自然是一个问题.除此之外,表格验证也是一个主要标准.为了安全起见,我计划对所有Sql查询使用参数绑定.为了验证,我想使用Yii提供的验证器,而不是自己推出验证器.我知道性能会受到CActiveRecord的影响.所以我打算为我的所有表创建Cmodel类,在这些相应的模型中定义验证规则,并定义执行sql查询以检索和插入数据的函数.我在网站上的所有数据收集主要是通过表格(约95%),如果我使用Cformmodel,我真的不明白Cmodel和Cformmodel之间的区别,使用它们是否有任何性能损失.

另外为了防止XSS攻击,我想使用HTML purify包装器作为验证规则,因为我几乎到处读到性能对这个包装器不好的情况,即使我将它用作验证规则,它会不会很糟糕?我是否应该使用Chtml :: Encode显示输出文本,即使我正在净化输入?

我处理数据的粗略计划是:

    $users= new Users() ; //Users is extending CModel , contains validation rules 
    $users=getdata(Yii->app->userid()) ; 
    if(isset('update'))
    {
        if($users->validate())
            {$users->updatedata() ; }
    }

$this->render('users','data'=>$users) 
Run Code Online (Sandbox Code Playgroud)

php yii yii-cmodel yii-cformmodel

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

异步关系上的Ember-data计算属性

我有一些模型设置了异步关系,例如:

User = DS.Model({
    postsApproved: DS.hasMany('post', {async: true, inverse: 'approved'})
})

Post = DS.Model({
    approver: DS.belongsTo('user', {async: true, inverse: 'postsApproved'})
})
Run Code Online (Sandbox Code Playgroud)

在控制器中,我在帖子上有一个属性isApproved,它只是检查是否approver已设置.我希望这应该有效:

isApproved: function() {
    return !Ember.isNone(this.get('approver'));
}
Run Code Online (Sandbox Code Playgroud)

但是这总是返回true,如果我检查数据,我看到它是因为this.get('approver')返回一个promise.这有效:

isApproved: function() {
    return !Ember.isNone(this.get('approver.content'));
}
Run Code Online (Sandbox Code Playgroud)

content在我看来,使用内部有点太多了.这是正确的做法,还是我错过了什么?

javascript promise ember.js ember-data

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

Yii,用外键从其他表中获取值

我是yii框架的新手,所以我可以使用一些帮助.假设我的数据库中有一个用户表,其中一个配置文件字段是国籍.在另一张桌子上,我有很多这样的国籍:

 id    Nationality    short
  1    Germany         DE
  2    France          FR
  3    Netherlands     NL
Run Code Online (Sandbox Code Playgroud)

等...约60多个国籍.在usertable中,用户国籍与此表链接,如下所示:

id    username    nationality
1      user            1
Run Code Online (Sandbox Code Playgroud)

这意味着用户1的国籍=德国.但是当我在个人资料视图中时,如何从国籍表中选择德国?

我希望我清楚,否则问:)

迎接,斯特凡.

php foreign-keys yii

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

如何在yii模块中添加脚本和样式表

我是yii的新手.我刚刚在yii中创建了一个模块,文件结构如下

 -yii
  -protected
     -modules
        -admin
           -controller
           -model
           -view
               -layout
                    -main.php
           -css
               -style.css
           -images
               -logo.jpg
Run Code Online (Sandbox Code Playgroud)

我能够将布局设置为这样

'modules'=>array(
    // uncomment the following to enable the Gii tool

           'admin'=>array(
                 'layoutPath' => 'protected/modules/admin/views/layouts',  ;
Run Code Online (Sandbox Code Playgroud)

)

现在布局是从管理模块呈现的问题是我无法加载样式表

<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/protected/modules/admin/css/reset.css"  media="all">
Run Code Online (Sandbox Code Playgroud)

有没有人知道在yii中加载样式表的正确方法

php yii

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

Yii CGridView:如何添加静态WHERE条件?

我有一个标准的Gii创建的管理视图,它使用CGridView,它显示我的用户表数据.

问题是名称为"root"的用户必须不可见.

有没有办法在条件"...和用户名!='root'"中添加静态?

admin.php [查看]

'columns'=>array(
    'id',
    'username',
    'password',
    'realname',
    'email',
            .....
Run Code Online (Sandbox Code Playgroud)

user.php [型号]

    public function search()
{
    // Warning: Please modify the following code to remove attributes that
    // should not be searched.

    $criteria=new CDbCriteria;

    $criteria->compare('id',$this->id);
    $criteria->compare('username',$this->username,true);
    $criteria->compare('password',$this->password,true);
    $criteria->compare('realname',$this->realname,true);
    $criteria->compare('email',$this->email,true);

    ......


    return new CActiveDataProvider($this, array(
        'criteria'=>$criteria,
    ));
}
Run Code Online (Sandbox Code Playgroud)

php where yii conditional-statements

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

Yii - 如何提交表单并将用户发送到给定的锚点?

我需要在Yii中实现这样的事情:

<form action="somescript.php#fragment-id">
Run Code Online (Sandbox Code Playgroud)

表单获取后,成功消息应出现在用户眼前.此时,消息显示但是,浏览器返回到顶部.

<?php $form=$this->beginWidget('CActiveForm', array(
                    'id'=>'contact-form',
                    'enableClientValidation'=>true,
                )); ?>

  //form here
  <?php echo CHtml::submitButton('send')); ?>

<?php $this->endWidget(); ?>
Run Code Online (Sandbox Code Playgroud)

我在这里看到一些叫做的东西actionPrefix,但似乎是来自另一个班级:

CWidget
Run Code Online (Sandbox Code Playgroud)

http://www.yiiframework.com/doc/api/1.1/CActiveForm

我试过actionPrefix像这样添加:

<?php $form=$this->beginWidget('CActiveForm', array(
                    'id'=>'contact-form',
                    'enableClientValidation'=>true,
                    'actionPrefix'=>'fragment-id'
                )); ?>
Run Code Online (Sandbox Code Playgroud)

没有骰子.

请指教

php yii

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