我今天开始使用CodeIgniter了!所以我有两个简单的问题!
问题1 有什么方法可以自动化在PHP代码中引用图像的方式,而不是写img/mainpage/folder.png everytime
?
我可以设置一个带有img文件路径的全局变量,并在所有页面中使用它吗?示例:set $IMGPATH = '..\img\'.
并在所有页面中使用<img src='$IMGPATH\myimage.png'
之类的内容?
问题2 有一种方法可以加载我的JS和CSS文件一次,让它可以用于所有页面而不是在每个页眉上加载JS和CSS文件?
如何使用CodeIgniter优化我的CSS和JS文件并将其加载一次并让它可用于所有页面?
答案 0 :(得分:0)
问题1:
您可以使用将保存路径的静态成员创建一个类。
class Path {
public static $path = "path/to/directory";
}
然后在您的代码中,您可以拨打<img src='<?=Path::$path?>/myimage.png' />
问题2:
使用框架是可能的,但这真的很糟糕。更好的方法是使用缓存。如果您使用apache,则可以启用mod_expires
,然后使用以下内容:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
</IfModule>
这意味着浏览器只会从互联网上加载一次css和javascript文件,然后它会从缓存(非常快)加载一周。一周之后,它将再次从互联网上加载它们等等。
答案 1 :(得分:0)
问题1:
您可以创建一个新的配置值,取自CI的文档,只需在$this->config->set_item('image_location', 'image folder');
处添加一个新值,并在使用$this->config->item('image_location');
显示图像时调用它。
我并非100%确定,因为我没有在CI中设置自己的配置值,但是从文档https://www.codeigniter.com/userguide3/libraries/config.html开始,上面就是这样做的。
答案 2 :(得分:0)
<强> Q1 强>
转到application/config/config.php
并在最后添加
$config['image_path']='img/mainpage/';
所以在代码中你可以称之为
$this->config->item('image_path');
或
使用view参数($data
)
<强> Q2 强>
在视图文件夹中创建文件调用模板。(application/view/template.php
)。在template.php
<?php $this->load->view('includes/header'); ?>
<?php $this->load->view($main_content); ?>
<?php $this->load->view('includes/footer'); ?>
从控制器传递数据时,请使用此
$data['main_content'] = 'path/of/relevant/view';
$this->load->view('template', $data);
在header.php
里面加载你所有的CSS和JS。