我有这个模型app/models/product.php:
class Product extends AppModel
{
var $hasAndBelongsToMany = 'WishList';
var $actAs = array('Domainable');
function beforeFind($query)
{
echo "A";
}
}
Run Code Online (Sandbox Code Playgroud)
哪个使用此行为app/models/behaviors/Domainable.php:
class DomainableBehavior extends ModelBehavior
{
function beforeFind(&$model, $query)
{
echo "B";
}
}
Run Code Online (Sandbox Code Playgroud)
当我查看产品页面时,A回显但B不回显.我没有错.
我甚至认为行为根本没有加载.
我将文件权限设置Domainable.php为0777- 仍然不起作用,因此不是权限问题.
我换了一行:
var $actAs = array('Domainable');
Run Code Online (Sandbox Code Playgroud)
至:
var $actAs = array('does-not-exist');
Run Code Online (Sandbox Code Playgroud)
我没有区别.没错.
首先,我不明白为什么:如果没有加载Behavior,它就不会给我一些错误信息,原因如:"not found"或"access denied".这会产生错误吗?
<?php
$i = 0;
while($i<=10 ){
echo '<label for=""></label><select name="comp'. $i++ .'></select><br>';
}
?>
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码在html页面上添加10个选择框,但是只出现了5个选择框,不知道为什么?
有没有解释,或者我的PHP只是醉...
我目前正在研究一个带有doctrine2的symfony2.3项目,试图在Sonata后端实现个人翻译管理.
翻译基于doctrine2可翻译行为模型:https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/translatable.md ,更准确地说是个人翻译.
管理表单使用的是TranslatedFieldType.php的symfony2.3版本.
我的实体类如下:
<?php
namespace Hr\OnlineBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @Gedmo\TranslationEntity(class="Hr\OnlineBundle\Entity\CategoryTranslation")
*/
class Category
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
private $id;
/**
* @Gedmo\Translatable
* @ORM\Column(length=64)
*/
private $title;
/**
* @Gedmo\Translatable
* @ORM\Column(type="text", nullable=true)
*/
private $description;
/**
* @ORM\OneToMany(
* targetEntity="CategoryTranslation",
* mappedBy="object",
* cascade={"persist", "remove"}
* )
*/
private $translations;
public function __construct()
{
$this->translations = …Run Code Online (Sandbox Code Playgroud) 考虑以下代码
public class Test {
public static void main(String... strings) {
System.out.println("String, " + false);
System.out.println("String, " + getFalse());
System.out.println("String, " + new TestClass());
System.out.println("String, " + (new TestClass() == null));
System.out.println("String, " + new TestClass() == null);
}
private static class TestClass {
public String toString() {
return "false";
}
}
private static boolean getFalse() {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么最后一次System.out.println打印的输出与其他输出不同?我不知道,这是一个错误吗?是否与plus运算符有关?StringBuilder?
behavior ×4
cakephp ×1
cakephp-1.3 ×1
doctrine-orm ×1
java ×1
loops ×1
php ×1
sonata-admin ×1
string ×1
symfony ×1
symfony-2.3 ×1
while-loop ×1