2014-12-05 83 views
1

我是一名休闲网站开发人员,所以通常我不熟悉CSS样式的细节和深度设计。由于我所做的大部分工作都需要PHP,所以我的所有页面都会执行一些PHP。PHP取代CSS样式?

我发现自己感觉更舒适的实现PHP包含的类而不是CSS中的设计细节。例如,在每个页面上我只包含(“header.php”),而不是在一个站点中共同使用一个标题,“header.php”包含一个包含所有样式定义的类Palette,并声明样式直接在元素(我有一个个人过敏,有太多的文件)

到目前为止,我发现这种方法没有任何不便,实际上对我来说,在程序语言中实现设计比在声明中更加明确和灵活(我是C++程序员)。

我在想,如果将来我可能会后悔这个决定,这种方法有什么问题?

---- ----编辑

让我展示一个简单的例子来阐明我的意思(例子中没有详细阐述,肯定会得到更好的在生产设计的情况下)

class Palette{ 

    var $colorBackground="#fff"; 
    var $colorText="#000"; 
} 

//------------------------------------- 
function styleInHeader($palette){ 

$css=<<<THECSS 
    .header{ 
     color:{$palette->colorText}; 
     background-color:{$palette->colorBackground}; 
    } 
THECSS; 

return $css; 
} 

// when generating the <head> 

$pal=new Palette(); 
echo style_general($pal); 
  • 优点:类面​​板的定义是在所有网站的独特
  • 我可以申请一些逻辑对象调色板,例如改变它包含联合国的颜色一些逻辑甚至用户交互。
  • 我可以调色板的子类和传递这些子类的实例会有灵活性,实际上我会有所有程序员/ obejct导向技术为造型的advatages。
+0

我会说,这是非常基于意见的..你实际上是通过PHP设计每个单一的元素?当您需要为一系列元素更改css参数时会发生什么? – briosheje 2014-12-05 10:25:50

+0

如果您重新设计您的应用程序,该怎么办?不得不修改只有css文件似乎比不必深入PHP代码更容易。 – Raziel 2014-12-05 10:27:00

+4

大多数人对1行文件中的2000行代码有过敏反应。 – DeathByPenguin 2014-12-05 10:29:59

回答

0

这只是我看买不必通过PHP来STILE每一个元素的方法不仅是艰苦的工作,但没有必要过了,它会让你的代码“X” -times更长,更难阅读,什么如果你不打开一个月的PHP文件,然后你决定改变它的东西?你不会记得每一个参数,你会忘记其中的一些样式,它会成为一个永无止境的造型和上传循环...

另外,为什么要写100个元素100次您可以通过添加一个类来同时针对来自css的所有人?

简短的回答: 使用CSS样式表更简单,更灵活,使您的代码更具可读性。

+0

我并不是指用php来设计每个元素的样式,也许我在第一篇文章中并不清楚,请检查原始文章的编辑。 – Joan 2014-12-05 12:49:06

+0

好吧,现在唯一剩下的就是只有你可以在其上工作,其他人不会那么容易阅读,但如果它是一个人的项目,我想这对你很好。 – Alin 2014-12-05 13:19:13

4

它可以工作,如果你是一个优秀的程序员,非常谨慎地应用这一点,并知道你在做什么和为什么这样做。最终,CSS通过与代码大致相同的方式来解决事情,通过为共同来源设置标签并为它们加载数据。

但是,重新考虑你的方法一个很重要的原因:

你会永远能够得到其他人在这个项目上工作,因为他们会不知道你在做什么。

但是只要你接受这是一个人一个人的项目,我可以预见没有严重的问题。

但是,如果你这样做的目的是为了制造一些大而专业的东西,这可能需要其他人在未来的某个时候帮助你(或者更糟糕的是,通过某人获得报酬),那么我真的会切换到实际使用CSS的项目。

+0

这应该是我标记为正确的答案 – 2014-12-05 12:41:31

+0

完全同意...除了“从不”,PHP代码可以很好地设计足以使autoevident什么是应该做的 – Joan 2014-12-05 12:47:12

+0

无论你设计得多么好,在最好你让人们学习一种他们从未见过的全新框架。更有可能的是,你正在寻找相当于学习一种全新的网站编程方式。 – Erik 2014-12-05 12:51:41