我或多或少都知道三元运算符.但是我无法读到这一行.
$length = null === $length ? strlen($data) : (int)$length ;
Run Code Online (Sandbox Code Playgroud)
$ length = null === $ length是什么意思?
非常感谢,MEM
当我们有类似的东西:
if (null === ($bar = $foo->getBar())) {
}
Run Code Online (Sandbox Code Playgroud)
我们在这一行上做了三件事吗?我们是:
1)声明变量.
2)变量值的属性.
3)检查该变量值是否为空.
?
我把它放在我的application.ini文件中:
contact.email.address = "my.mail@bla.org"
contact.email.name = "Test Name"
Run Code Online (Sandbox Code Playgroud)
然后我的索引控制器操作我做了:
$configOptions = $this->getInvokeArg('bootstrap')->getOptions();
$contactAddress = $configOptions->contact.email.address;
$this->view->contact = $contactAddress;
Run Code Online (Sandbox Code Playgroud)
在我看来,我有:
var_dump($this->contact); 但我收到的是NULL.
我错过了什么?
我希望生成以下标记:
<label>some label here <span>(optional)</span></label>
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,使用Yii labelEx或只是标签?
谢谢
我见过以下代码:
$id = $_GET["user"];
$auth = $_GET["id"];
$sql = 'DELETE FROM categories where user_id = '.$id.' and category_id = '.$auth;
Yii::app()->db->createCommand($sql)->execute();
Run Code Online (Sandbox Code Playgroud)
我被告知这段代码不行,因为它无法允许sql注入.
是因为$ _GET没有被正确过滤?
不会是Yii :: app() - > db-> createCommand($ sql) - > execute(); 避免那样?
或者当我们到达那里时,我们应该已经检查了where子句中的数据?
我在某个地方读过*这样的设置会很好:
两个主要分支,每个服务器一个.
推送到主人发送更改为live;
推送到dev/stage(或者你称之为的任何东西)会发送更改到staging;
工作流程:
从dev创建分支;
在你准备测试之前在当地工作;
合并回dev;
推送到Hub,它将更改发送到dev/staging服务器.
一旦你准备好上线了:
从dev到master合并,
然后将master推送到Hub,Hub将这些更改发送到实时服务器.
两个主要分支,每个服务器一个.
所以我在"webroot/myliveapp /"上有一个分支"production",在"webroot/devapp /"上有另一个分支"development"
存储库应该在哪里?
更新:
我的意思是:
根据这个流程,我们将有:
主要回购;
裸露的回购中心;
克隆;
开发和生产分支应该属于一个存储库,对吧?
如果这是正确的,那么我们应该发出FIRST git init命令吗?在我们的Prime回购?
所以我们将:
"webroot/myliveapp /" - 生产部门;
"webroot/devapp /" - 开发部门;
"webroot/.git" - Prime存储库;
这有意义吗?
或者Prime库是否应该与我们的生产分支机构位置相对应?
*注意:如果您需要有关我正在尝试实施的工作流程的上下文,请参阅:http: //joemaller.com/990/a-web-focused-git-workflow/
我有一个非常奇怪的问题,我想知道你对此的建议.
有时,当我将更改推送到REMOTE服务器时,不会显示更改.我做ssh到远程机器,我做了git status,我看到:
修改:app/runtime/application.log
问题是,所有目录,现在还有特定文件,都是.gitignore的目标.
/nbproject/
/app/runtime/
/public_html/assets/
/app/runtime/application.log*
/app/runtime/error.log*
Run Code Online (Sandbox Code Playgroud)
没有ftp直接完成,只使用了推拉.
也许它们是app/runtime/application.log在实际站点上写的东西,所以它application.log与存储库中的不同,当发生这种情况时git拒绝拉,因为它将覆盖application.log到旧版本.
这可能发生在同一目录上的许多其他文件中.应用程序运行的那一刻,可以由实时站点创建的文件.
我的问题是,我们怎样才能避免这种情况?为什么.gitignore似乎在这里没有效果?
ps - 如果我需要提供更多细节,比如服务器挂钩或其他什么,请告诉我.
应该在控制器上还是在视图中调用createUrl?没关系?或者它确实重要?
我们应遵循规则吗?像扩展ccontroller的方法应该在控制器等上使用..?
我已经在这里和那里看过这个,但是找不到关于这个"东西"的任何信息.任何人都可以提供有关#_self建议的某种信息吗?
这可能是什么原因:
public function __construct($host, $port, $timeout = 5){
$errnum = 0;
$errstr = '';
Run Code Online (Sandbox Code Playgroud)
而不是这个:
public function __construct($host, $port, $errnum = 0, $errstr = '', $timeout = 5){
Run Code Online (Sandbox Code Playgroud)
?
为什么有些人是params而有些人不是?
非常感谢,MEM