我对protected /中的组件和扩展文件夹的目的有点困惑
请澄清.
我一直在研究Ember.js,它看起来真的很棒,但有一点让我担心,而且我无法理解它,如果我开始在已经运行的项目中使用它.
我最终是否必须移动客户端的所有内容,并在某些时候使我的应用程序成为单页应用程序?
让我澄清一下......
到目前为止,使用Ember在客户端和服务器之间进行通信的最佳方式是REST.这看起来很棒,但我不喜欢的是第一次加载所有模板.并将我服务器中的所有逻辑移动到客户端(或者我得到了所有这些错误?),因为看起来我的服务器端将成为无逻辑的REST API.
此外,我正在使用Yii Framework,它有一些JavaScript(支持Ajax)组件,如网格.如何在导航中使用ember与所有这些进行交互,而无需重写已经在我的应用程序上工作的一堆东西?
我在登录页面(或状态),然后在登录后,我必须显示一个网格,这对Yii来说很简单,并且整页加载,但如果我使用的是Ember,我怎么能拥有我的网格显示通常会如何?我是否必须预先加载网格的车把模板,以及控制它的JavaScript?
我正在尝试设置一个带有视图链接的按钮.但是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) 我想用yii2搜索模型创建这个查询
select * from t1 where (title = 'keyword' or content = 'keyword') AND
(category_id = 10 or term_id = 10 )
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用orFilterWhere和andFilterWhere.
我在搜索模型中的代码:
public function search($params) {
$query = App::find();
//...
if ($this->keyword) {
$query->orFilterWhere(['like', 'keyword', $this->keyword])
->orFilterWhere(['like', 'content', $this->keyword])
}
if ($this->cat) {
$query->orFilterWhere(['category_id'=> $this->cat])
->orFilterWhere(['term_id'=> $this->cat])
}
//...
}
Run Code Online (Sandbox Code Playgroud)
但它创建了这个查询:
select * from t1 where title = 'keyword' or content = 'keyword' or
category_id = 10 or term_id = 10
Run Code Online (Sandbox Code Playgroud) 我想在Yii中使用OpenID支持.
在研究了可能的插件之后,我找到了这两个插件.一个用于OpenidSelector,另一个用于LightOpenId
http://www.yiiframework.com/extension/simpleopenidselector/
http://www.yiiframework.com/extension/loid
这些是在Yii中用于OpenId支持的正确扩展吗?还要别的吗?如果这些扩展是正确的,我想了解如何处理这些扩展.
这是我认为我需要按照页面上的说明安装它们.
然后我有点迷失,因为我不理解Loid中的Usage样本,我不知道如何做(1)和(3).
如果我走在正确的轨道上并且可能提供一些指导,请告诉我.谢谢.
在Yii中,有没有办法使用layout与控制器定义的不同的动作来渲染单个动作?我有一个动作,我想格式化不同于其余的,并且从文档中不清楚是否可能.
我在下面列出了Yii配置文件的相关部分:
return array(
...
'components'=>array(
'session' => array(
'timeout' => 86400,
),
'user'=>array(
'allowAutoLogin' => true,
'autoRenewCookie' => true,
'authTimeout' => 31557600,
),
...
),
...
);
Run Code Online (Sandbox Code Playgroud)
我也进入了php.ini并设置session.gc_maxlifetime = 86400但是这仍然没有解决问题.
目前,我绝对不知道还有什么可能导致它超时并在大约15-30分钟不活动后将用户退出.理想情况下,用户应保持登录状态至少一天不活动(除了关闭浏览器窗口,允许浏览器首选项).
我已经拖网了谷歌,Yii和堆栈溢出,只是找不到我忽略的任何东西......但显然我忽略了一些东西.如果有人能帮助我,我会非常感激.
我们要求提供用于登录用户的典型代码示例,其中包含以下内容:
$identity = new UserIdentity('facebook', $id, $user->name, $user->email);
$loggedIn = Yii::app()->user->login($identity);
$this->subscriptionChecker->updateCurrentUserSubscribed();
Run Code Online (Sandbox Code Playgroud)
这在任何时候Yii::app()->user->login()被称为非常典型
在Chrome中,以下是我为该网站提供的Cookie及其到期日期(清除所有Cookie并仅登录后):
PHPSESSID expires When the browsing session ends
// I'm informed these are set by google analytics
__utma created Friday, 12 October 2012 14:05:31 expires Sunday, 12 October 2014 14:05:31
__utmb …Run Code Online (Sandbox Code Playgroud) 我必须开发一个每天必须容纳大约2000个用户的站点,速度是它的标准.此外,该站点是一个面向用户的站点,用户可以登录并查看他的个人资料,注册他/她想要参与的特定事件.该站点将托管在VPS服务器上.虽然我很漂亮有python和PHP的良好经验,但我不知道如何使用任何一个框架.我们有足够的时间来试验和学习上述框架之一.请注意,考虑到网站的速度,功能和安全性,请考虑哪种方案适合这种情况.
谢谢,niting
我知道您可以拥有仅适用于一种情况的验证规则:
array('username', 'exist', 'on' => 'update'),
Run Code Online (Sandbox Code Playgroud)
现在我想知道是否可以做相反的事情:除了给定的场景之外每次都适用的规则?
现在看到的唯一解决方案是列出所有其他方案,但如果我们稍后需要添加一些新闻方案,那就不太好了.
array('username', 'exist', 'on' => array('create', 'search', ...),//all the scenarios except update
Run Code Online (Sandbox Code Playgroud) 我正在Yii 1.x中构建一个API,它将与移动应用程序一起使用.部分过程涉及使用以下JSON请求登录(使用用户名和密码): -
//使用用户名和密码发送的请求
{
"request" : {
"model" : {
"username" : "bobbysmith",
"password" : "mystrongpassword"
}
}
}
Run Code Online (Sandbox Code Playgroud)
//如果成功登录,则返回以下响应
{
"response": {
"code": 200,
"message": "OK",
"model": {
"timestamp": 1408109484,
"token": "633uq4t0qdtd1mdllnv2h1vs32"
}
}
}
Run Code Online (Sandbox Code Playgroud)
此令牌非常重要 - 一旦用户登录应用程序,我希望他们可以访问要求他们登录的其他页面.我希望移动应用程序存储此令牌,如果相同的633uq4t0qdtd1mdllnv2h1vs32令牌是在任何后续请求中发现它将接受此作为经过身份验证的请求(对于此用户'bobbysmith').
我有点不确定如何最好地做到这一点,我做了一些研究,oAuth已被提及几次,以及通过HTTPS的基本身份验证.
所以简而言之......
任何人都可以解释实现这一目标的最佳方法吗?如果我所说的内容不是100%明确的,请告诉我,我会提供更多信息.
当我使用PHP时,Yii 1.x解决方案是理想的,因为这是使用当前API构建的.
概括地说,该应用可确保到服务器的每个请求包括在所述有效载荷或报头,以便此令牌可以被检索令牌每随后的后,一旦退出该令牌被简单地移除或设置为空/空
yii ×10
php ×6
rest ×2
yii2 ×2
access-token ×1
cakephp ×1
cookies ×1
django ×1
ember.js ×1
javascript ×1
lightopenid ×1
model ×1
openid ×1
python ×1
session ×1
validation ×1
yii-widgets ×1