我将为我的最终Web开发课程项目构建一个CMS,并且我的老师在MVC系统中创建了它的挑战,现在,我将使用CodeIgniter.
因此,我想知道如何组织文件/文件夹结构.
我将使用一个简单的模板系统: - 现在我有一个自动加载的templates.php配置文件,并说明所选模板的名称,以及它的绝对路径. - templates文件夹位于views文件夹中(这是最正确的方法吗?) - 现在我有一些问题,通过视图中的文件访问.css文件,从我读过的人通常将所有文件放在应用程序文件夹之外.
你通常怎么做?而且,看到我正在建设什么,你能给我什么建议?视图不应包含模板中的所有内容吗?(包括模板文件夹中的CSS)
谢谢.
(我正在使用Code Ignitor 2.1.0)
编辑:
现在,在构建了所有文件和文件夹之后,我处于两难境地.我在constants.php中添加了以下内容
<!-- language: lang-php -->
$config['selected_template'] = 'oceania';
$config['template_abs_path'] = 'assets/templates/'.$config['selected_template'];
define('IMAGES_PATH', $config['template_abs_path'].'/img/' );
define('CSS_PATH', $config['template_abs_path'].'/css/' );
define('SCRIPTS_PATH', $config['template_abs_path'].'/js/' );
Run Code Online (Sandbox Code Playgroud)
(如果我没有定义selected_template和template_abs_path,我可以在常量中使用它们)
我将它们包含在HTML中,如下所示:
<!-- language: lang-html -->
<link rel="stylesheet" type="text/css" href="<?=CSS_PATH;?>style.css" />
Run Code Online (Sandbox Code Playgroud)
但是现在,我试图获得一个存储在配置中的标题,但我不能这样做,因为我需要所有这些变量都在我之前创建的其他templates.php文件中,否则它将无法识别我的变量.(我有模板自动加载)
templates.php
<!-- language: lang-php -->
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config['title'] = 'Title of the website';
$config['selected_template'] = 'oceania';
$config['template_abs_path'] = 'templates/'.$config['selected_template'];
Run Code Online (Sandbox Code Playgroud)
header.php文件
<div id="logo">
<h1><a href="#"><?=$this->config->item('title');?></a></h1>
</div> …Run Code Online (Sandbox Code Playgroud) 对于从 redux dev 工具 chrome 扩展获取最新更新后的一些未知问题,我收到以下警告消息:
Redux 和 Redux DevTools 定义的 Symbol.observable 不匹配。如果未加载 DevTools,这可能会导致您的应用程序表现不同。在导入 Redux 之前考虑对 Symbol.observable 进行polyfill,或者完全避免对 Symbol.observable 进行polyfill。
通过阅读错误消息,我了解到 redux 和 redux 开发工具应该使用相同的 Symbol.observable,但事实并非如此。这很奇怪,因为我没有更改代码中的任何内容,并且我按照文档使用代码。
我的问题是你是否知道我应该朝哪个方向走?这是一个我们只需要报告的 Chrome 扩展错误吗?
我正在使用名为Redux DevTools 的最新 chrome 扩展。我注意到,如果我卸载 chrome 开发工具扩展,则不会再出现此警告消息。
我的代码如下所示:
// The redux-devtools-extension is renamed to this npm package
import { composeWithDevTools } from "@redux-devtools/extension";
// Some code here ...
const composeEnhancersPersonalProject = composeWithDevTools({
name: `My Project`,
});
// Some other code here ...
const myStore = createStore(
persistedReducer, …Run Code Online (Sandbox Code Playgroud) javascript google-chrome-extension redux redux-devtools redux-devtools-extension
几乎总是,当我启动 Codeigniter 4 项目时,我会收到以下错误:
"CodeIgniter\Cache\Exceptions\CacheException Cache unable to write to "/path/to/codeigniter-project/writable/cache/."
SYSTEMPATH/Cache/Handlers/FileHandler.php at line 61
Run Code Online (Sandbox Code Playgroud)
它指向下面一行:
throw CacheException::forUnableToWrite($this->path);
Run Code Online (Sandbox Code Playgroud)
解决这个问题的最佳方法是什么?