我刚刚开始使用YII并设法完成我的第一个应用程序.不幸的是,发布日已经结束,我希望这个应用程序超级快.到目前为止,我遇到的加速它的唯一方法是标准缓存.还有哪些方法可以加快我的应用程序?
我正在使用Yii作为应用程序,我正在编写一个非常简单的用户管理,如注册,删除和更新用户......为了更新现有用户,我需要先检查旧密码,然后再将其更改为新插入的密码.所以这里是我在表单中的字段:
username:----
old_password:---
new_password:---
Run Code Online (Sandbox Code Playgroud)
我的用户表看起来像这样:
id, username, password
Run Code Online (Sandbox Code Playgroud)
如何在使用new_password更新之前验证old_password?我知道通常的PHP编码,但我想知道是否有任何Yii技巧自动执行此操作...
提前致谢
在我的Twilio基础应用程序中,我通过Twilio rest API创建传出呼叫.
当目标方响应时,我把他带到最近创建的会议.
问题是:在将他带到会议之前,如何播放某些DTMF音?
响应方是一个接受DTMF音调的特定系统,我需要播放一些数字.
我已阅读文档,但我没有办法做到这一点.
可能吗?
在我的商店中,其中一个类别只有一个产品.是否可以在用户单击导航栏中的此类别时将用户直接带到此产品的产品详细信息页面?
使用Twilio会议时我遇到了一个小问题.
我的API接到来电并将来电者放到新的空会议室:
<Response>
<Dial>
<Conference waitUrl="http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient">Conf 1</Conference>
</Dial>
</Response>
Run Code Online (Sandbox Code Playgroud)
所以我让来电者在空荡荡的会议室里等着听音乐.
我想拨打其他号码并将其添加到此会议室.
这个数字是非twilio.
我怎样才能做到这一点?
所以我想知道,为了在一个非常繁忙的服务器上节省一些宝贵的内存分配.
如果我在编译最终输出时有大约1-5mb的字符串在我的程序中被抛出,那么通过引用明确地传递它们会更好吗?这会节省内存吗?
所以基本上问题是:记忆明智什么更好,A或B并且值得努力吗?
A:
function something($whoa) {
$whoa .= 'bar';
return $whoa;
}
$baz = 'foo';
$baz = something($baz);
echo $baz;
Run Code Online (Sandbox Code Playgroud)
B:
function something(&$whoa) {
$whoa .= 'bar';
}
$baz = 'foo';
something($baz);
echo $baz;
Run Code Online (Sandbox Code Playgroud) 通常的做法是为PHP类添加'.class.php'扩展名吗?
在PHP.net上:http://php.net/manual/en/function.spl-autoload-register.php有一些这样的例子:
// Or, using an anonymous function as of PHP 5.3.0
spl_autoload_register(function ($class) {
include 'classes/' . $class . '.class.php';
});
Run Code Online (Sandbox Code Playgroud)
哪个使用.class.php扩展名.
PHP代码应该像这样编写吗?我以前从未见过它,它是新的吗?这是PHP中的一种新功能,也许它是?
编辑:'功能'不是一个好词!也许我应该问这是一些标准还是惯例.
谢谢.
yii cactivedataprovider指定了默认排序,但使用AJAX排序的前台无效.使用sortableattributes排序无效
public function actionIndex()
{
// renders the view file 'protected/views/site/index.php'
// using the default layout 'protected/views/layouts/main.php'
$article = new CActiveDataProvider('article',array(
'criteria'=>array(
'order'=>'id DESC',
),
'pagination'=>array(
'pageSize'=>15,
),
));
$this->render('index',array('article'=>$article));
}
$this->widget('bootstrap.widgets.TbListView', array(
'dataProvider'=>$article,
'itemView'=>'_list', // refers to the partial view named '_post'
'template'=>'{sorter}{items}{pager}{summary}',
'sortableAttributes' => array(
'id',
'date'
)
Run Code Online (Sandbox Code Playgroud) 我需要对以下URL执行请求:
HTTP:// [USERNAME]:[PASSWORD] @ [SERVER_IP]:[PORT] /一些/路径/到/一些/文件
但最终生成的URL被视为INVALID,因为它包含两次":"字符.有什么解决方案吗?
这就是我试过的:
$process = curl_init('http://[SERVER_IP]:[PORT]/OpenKM/webdav/okm:personal/somefile.mp4');
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, "[USERNAME]:[PASSWORD]");
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process); // $return is FALSE
var_dump(curl_error($process));die(); // Here we see string(23) "Empty reply from server"
Run Code Online (Sandbox Code Playgroud) 我需要类似于属性包的东西来抛出键值对.我想创建这样的对象列表,在bean中初始化它们然后使用列表在JSF模板中呈现表.我知道该怎么做,但我想避免为这种情况创建一些特殊的类,比如OrderLineItem和使用List<OrderLineItem>.我不想定义新类.
在PHP中,我可以使用StdClass.
StdClass是PHP中一个文档稀疏的类,它没有预定义的成员.
$object = new StdClass;
$object->foo = 'bar';
Run Code Online (Sandbox Code Playgroud)
但是,据我所知,Primefaces <p:dataTable>列表项必须是带有getter的对象.如果我想引用<h:outputText value="#{item.title}" />,我的列表对象应该有getTitle()方法.
在我的案例中是否有任何解决方法,或者我真的需要定义特殊课程以使生活更轻松?
谢谢.
我有一个奇怪的问题.我将我的网站复制到生产环境(从windows到ubuntu).我纠正了一些大/小写字母问题,应用程序开始正常工作.直到我进入一个看起来像没有布局呈现的页面.没有错误.另外 - firebug没有显示css样式或任何东西.在HTML源代码中也缺少布局代码.可能是什么原因?
编辑:
控制器部分:
$dataProvider = Projects::model()->getInviteProjectsProvider();
$this->render('invite', array(
'dataProvider' => $dataProvider
));
Run Code Online (Sandbox Code Playgroud)
它返回CActiveDataProvider.
视图:
<?php
$this->breadcrumbs=array(
'Projekty' => array('admin'),
'Zapraszanie',
);
$this->renderPartial('_allMenu');
?>
<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/projects.css"/>
<h1>Projekty aktywne - zapraszanie</h1>
<?php
$this->widget('bootstrap.widgets.TbExtendedGridView', array(
'id' => 'invite-grid',
'type' => 'striped condensed',
'dataProvider' => $dataProvider,
'rowCssClassExpression' => '($data->leftCustomers<100) ? "error":""',
'columns' => array(
array(
'name' => 'idProject',
'htmlOptions' => array('width' => '60px', 'style' => 'text-align: right;', 'class' => 'gridIdColumn'),
),
'name',
array(
'name' => 'leftCustomers',
'header' …Run Code Online (Sandbox Code Playgroud) 我有4个格,并在每个鼠标悬停,我要src的img改变.
我必须从PHP获取图像.
如何在我的jQquery脚本中使用我在PHP中获得的数组?
我知道只有4,我可以在javascript中设置数组并放置每个图像名称,但这不是我正在寻找的功能.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>
div{
height:100px;
width:100px;
display:inline-block;
background-color:blue;
}
#my_image{
height:100px;
width:100px;
display:inline-block;
}
</style>
<?php
$images = scandir("images", 1);
?>
<script>
$(document).ready(function(){
$(div).mouseover(function(){
$("#my_image").attr("src", /*my php array*/);
});
});
</script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<img id="my_image" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud) php ×12
yii ×5
twilio ×2
api ×1
coding-style ×1
curl ×1
dtmf ×1
http ×1
ivr ×1
java ×1
java-ee ×1
jquery ×1
jsf ×1
layout ×1
magento ×1
magento-1.5 ×1
memory ×1
performance ×1
phone-call ×1
php-5.3 ×1
render ×1
rest ×1
themes ×1
twilio-twiml ×1
voice ×1