我正处于中型PHP Web应用程序(不是静态网站)的设计阶段。由于我是一名具有茄子创造力的程序员,我想与自由职业者签订合同,设计应用程序的外观和感觉。我应该向设计师索取哪些可交付成果? HTML文件? PHP文件?如何将设计师的外观应用到我的应用程序?
答案 0 :(得分:11)
要求:
一旦将deisgn集成到您的应用程序中,您希望将设计与逻辑和数据库访问分开。这使得以后的维护变得更容易,并且在开发应用程序时也可以更容易地进行更改。
- 虽然你应该使用的具体内容超出了本答案的范围,但请注意,有许多框架和范例(MVC框架,内容管理系统等)可以促进逻辑的分离。
将逻辑与设计分开的一种简单方法是简单地在PHP文件中设置变量,然后为设计包含适当的文件(也应该是php或phtml文件,如下所示)。此外,您应该将页面的任何部分重复出现在许多页面中,并将这些部分作为单独的php文件包含在其他页面中。例如......
糟糕的方式(不要这样做!):
//File: itemsPage.php:
<html>
<head>
<title>Our items</title>
</head>
<body>
<?php
echo "<ol>";
$itemsResult = mysql_query("SELECT * FROM items ORDER BY id LIMIT 10");
while ($item=mysql_fetch_array($itemsResult)){
echo "<li>".$item['name']." - ".$item['description']."</li>";
}
echo "</ol>";
?>
<br><br>
Affiliates: Microsoft | Bob's Home Furnishing Store | <a href="http://www.example.com/affiliates.php">become an affiliate</a>
</body>
</html>
更好的方式:
//File: itemsPage.php
<?php
$title='Our Items';
include('header.php');
include('items.php');
include('footer.php');
?>
...
//File: header.php
<html>
<head>
<title><?php echo $title?></title>
</head>
<body>
...
//File: items.php
<?php
$itemsResult = mysql_query("SELECT * FROM items ORDER BY id LIMIT 10");
$items=array();
while ($item=mysql_fetch_array($itemsResult))
$items[]=$item;
include('items.phtml');
?>
...
//File: items.phtml
<ol>
<?php foreach ($items as $item){?>
<li><?php echo $item['name']?> - <?php echo $item['description']?></li>
<? } ?>
</ol>
...
//File: footer.php
<br><br>
Affiliates: Microsoft | Bob's Home Furnishing Store | <a href="http://www.example.com/affiliates.php">become an affiliate</a>
</body>
</html>
最佳方式: 如上所述,最好的方法是使用一个框架(Zend等),它将被设计为尽可能有条理和简单。
答案 1 :(得分:10)
通常,我从我的设计师或PSD获取HTML文件并自行剪切。 HTML文件应该包含将它们放入PHP中所需的所有基本元素以及单独的包含头文件等。当然,您还需要CSS和图像。
我发现让设计师专注于他们最擅长的设计而不仅仅是尽量减少我的工作更好。
答案 2 :(得分:4)
您应该为他们提供HTML输出,让他们使用它。他们可能会要求您将输出/应用ID或类重组为某些事物。
“Deliverables”将是任何图像文件/ css文件。
您将不得不衡量您将允许他们进入网站的距离。如果可能的话,为他们提供视图PHP文件(假设一个MVC系统)来使用/ modify。
只是旁注:我知道完全你的感受。茄子的创造力对我来说太善良了。
答案 3 :(得分:3)
这取决于您将与哪种设计师合作。
我的设计师为布局生成PSD,并为图形元素提供jpg / gif / png图像。我编写了所有CSS和HTML,这就是我喜欢它的方式,因为JavaScript必须与CSS紧密交互。我更喜欢选择自己的CSS ID,进行所有布局测试等等。她是插画家和艺术家,并没有关于PHP,JS,CSS等的第一个线索。这对我们来说非常好。
如果你有一个处理CSS和HTML的设计师,你可以使用像Smarty或h20这样的模板系统。这样,设计人员就可以完成工作而不会干扰您的数据库和业务逻辑(模型/控制器)。
设计师必须了解应用程序的流程和逻辑,才能为所有不同的屏幕和状态进行设计。
答案 4 :(得分:2)
HTML,CSS和 - 可能 - 图像文件。 (就个人而言,我也想要PSD - Photoshop文件 - 他们用来创建设计。这样,你就可以看到设计师的愿景与实际用HTML呈现的内容。)
利用这些资产取决于您的申请。例如,如果您正在使用MVC框架,则可以使用这些资源来创建视图。
答案 5 :(得分:2)
首先,你应该找到一个真正理解你的项目并能提供适合的设计的设计师。您的问题的答案应完全取决于设计师的专业知识。
有些设计师拥有出色的HTML,CSS和PHP技能。如果是这种情况,那么您的可交付成果应该就是这样。如果是这种情况,他们应该为您提供完整的,有效的HTML,CSS。如果他们的PHP技能很不错,你甚至可以要求他们将常见元素分解为包含。你的里程会有所不同。作为应用程序开发人员,您可以选择如何执行此操作,让设计人员执行此操作可能会带来更多弊大于利。
如果你结束了没有技术印章的设计师,我会推荐详细的PSD。应该清楚地标记图层,并区分文本与图像之间的区别。此时,您还有另一种选择。作为开发人员,您可以自己构建HTML模板。如果您不想花费必要的时间来执行此操作,则可以始终使用http://www.psd2html.com/之类的服务。我喜欢使用它们,因为它们处理所有跨浏览器的不兼容性,如果你提供足够的指导,甚至会将其分解为包含内容。唯一需要注意的是确保PSD标记良好。
无论哪种方式,最重要的是确保您的设计师得到您正在做的事情,并根据他们的技能确定可交付成果的最佳解决方案。
答案 6 :(得分:1)
此外,在设计师完成后,对谁拥有设计作出一些安排。如果不这样做,该设计属于设计师,并且在未经他同意的情况下,您无法合法地对其进行更改。因此,让设计师将设计权转让给您。
我想你可以把它算作可交付成果。
答案 7 :(得分:0)
如果您的应用程序将逻辑与表示分开,您现在应该清楚将设计师的工作应用到您的应用程序中。
我的设计师为我提供了PSD文件。但这就是我喜欢它的方式。和你的设计师聊聊,你会找到共同点。
答案 8 :(得分:0)
对于您将需要的设计师,HTML,CSS和图像。
其他设计师可能只会提供页面图像,让您自己剪切。