我对基于PHP网络的应用程序结构的"最佳实践"的构成感到困惑.阅读本网站有很多建议.经常提到的一个结构是"文档根目录中没有任何php文件".虽然这听起来像是一种很好的做法,但我看不出它是如何工作的 - Web服务器无法识别文档根目录之外的任何内容.我假设文档根目录是公共访问目录,如下所示:
app-
|
- htdocs - document root
| |
| - index.php
| - css/
| - images/
|
- PHP classes in here/
- Other PHP classes in here.../
Run Code Online (Sandbox Code Playgroud)
或者上面示例中的"app"是文档根目录,而htdocs目录是站点结构的公共可访问区域吗?
接下来,我如何确保除了htdocs之外的目录中的文件没有公共访问权限?
考虑这个HTML:
<div class="logo-b"></div>
Run Code Online (Sandbox Code Playgroud)
而这个CSS:
div.logo-b {
content: url(http://placehold.it/350x150);
height: 150px;
border: 1px solid darkred;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用CSS显示图像。没有显示图像。请参阅此jsfiddle以了解我的意思。我想念什么?
编辑:看起来Chrome像我提供的那样渲染小提琴,但Firefox(我使用的)却没有。如果在CSS的类名中添加:before或:after,则图像将显示在Firefox中。有人可以阐明为什么会这样吗?
编辑:我使用错误的构造将图像放置在我的页面上。在我正在做的事情的背景下,我应该使用<img>html标签。CSS content构造使用:before和/或after放置内容(包括图像),但是我了解这些用于特定上下文。我只想显示一个徽标。
考虑:
我有一个变量叫$field那不时可有(其中包括)值,如action,id和another_term.我想使用一个switch结构来筛选值:
switch ($field) {
case 'action':
// do something
break;
case 'id':
// do something
break;
case (strpos($field, '_term')):
// do something else
break;
}
Run Code Online (Sandbox Code Playgroud)
前两个案例有效.第三个没有.我认为这是对switch语句的错误使用.这是否更好地作为if/else序列处理?