小编jäv*_*ävi的帖子

CodeIgniter,模型和ORM,如何处理?

我从CodeIgniter开始,经过几个小时在Google潜水后,我有点困惑.

让我们试着用一个简单的例子来解释我的问题:我有一个表'car',字段'name'和'color'.因此我想拥有一个php类Car,以便我的代码最终看起来像这样:

$car = new Car('BMW', 'red'); //new $car Object
$car->save(); //this will make an SQL insert to the table 'car'

//Lets query all cars
$cars = Car::get_all(); 
//cars will be an array of Car objects, (not a set of rows!)
Run Code Online (Sandbox Code Playgroud)

因此,我正在寻找与RubyOnRails或Django(Python)中的内容非常相似的东西.我需要处理所有类型的关系,并能够以真正的OOP + MVC方式编写代码.

这些是我失败的方法:

使用外部ORM(DataMapper,Doctrine,AcidCrud ...)

它们要么需要太多设置,要么以糟糕的方式处理关系.

使用CodeIgniter类(扩展CodeIgniter的Model类)

class Car extends Model{
public function Car($name='',$color='')
{
    $this->name     =   $name;
    $this->color    =   $color;      
    parent::Model();
}
public function save()
{
    $data = array(
                   'name'   =>  $this->name ,
                   'color'  => …
Run Code Online (Sandbox Code Playgroud)

php orm codeigniter

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

在Firefox中使用十进制值计算宽度,但在Webkit中没有小数

我在使用不同浏览器的HTML,CSS时遇到了一个奇怪的问题:Firefox 3.6和Webkit浏览器(Chrome和Safari).

我的HTML看起来像这样:

<div class="ln-letters">
    <a href="#" class="all">ALL</a>
    <a href="#" class="a">A</a>
    <a href="#" class="b">B</a>
    <a href="#" class="c">C</a>
</div>
Run Code Online (Sandbox Code Playgroud)

我的CSS是......

.ln-letters a { 
    font-family: 'Lucida Grande';
    font-size:14px;
    display:block;
    float:left;
    padding:0px 7px;
    border-left:1px solid silver;
    border-right:none;
    text-decoration:none;
}
Run Code Online (Sandbox Code Playgroud)

因此,您可以猜测,每个锚点根据其内部文本获得不同的宽度.例如,具有文本"ALL"的第一个元素将比其他元素更大(更宽).

现在问题是在Firefox中(使用Firebug)我可以看到第一个元素的计算宽度是26.5667px,而在Chrome中(使用Chrome的开发人员工具),同一元素的计算宽度恰好是27px.

因此div.ln-letters在每个浏览器中以不同的宽度结束,这给我带来了一些麻烦.

问题是:有什么办法可以避免Firefox计算十进制值吗?或相反:迫使Chrome计算小数值?

先感谢您!

css firefox webkit

6
推荐指数
1
解决办法
5048
查看次数

标签 统计

codeigniter ×1

css ×1

firefox ×1

orm ×1

php ×1

webkit ×1