我有一个常量列表(我将它们用作枚举),一些是定义语句,有些只是全局变量.
我想在哪里将它们放在MVC框架中,以便我可以将它们用于我的模型和需要引用它的控制器?
我宁愿不把它粘在config/constants.php中,因为除了这个模型和使用它的控制器之外不应该调用它们.
编辑1:澄清
更具体地说,我有我的message_model模型,它有一堆我需要存储的常量message_model_constants.php.我应该放在哪里message_model_constants.php,是否有一种方法让控制器自动包含它,message_model当message_model不是(我不希望它)自动加载时加载.
编辑2:
除了我使用模型时,我真的不想自动加载常量
我试图上传多个图像,我有一个jquery插件设置,所以我可以浏览多个文件并选择它们.
我唯一的问题是访问我的控制器中的文件阵列,有谁知道我怎么做到这一点?谢谢.
视图:
<input type="file" name="userfile[]" id="userfile" class="multi" />
Run Code Online (Sandbox Code Playgroud) 我在与Codeigniter的DataMapper的关系中遇到了这个问题.我有一个Interview模型,有一个author_id和一个interviewee_id.它们都与用户模型中的用户ID相关.
我一直在尝试几种方法而没有工作; 这就是我现在所拥有的:
class Interview extends DataMapper
{
var $has_one = array(
'interviewee' => array(
'class' => 'user',
'other_field' => 'done_interview'),
'author' => array(
'class' => 'user',
'other_field' => 'written_interview')
);
}
class User extends DataMapper
{
var $has_many = array(
'done_interview' => array(
'class' => 'interview',
'other_field' => 'interviewee'),
'written_interview' => array(
'class' => 'interview',
'other_field' => 'author')
);
}
Run Code Online (Sandbox Code Playgroud)
我如何让DataMapper知道一个关系将通过author_id,另一个通过interviewee_id?
无论如何都要自定义log_message()CodeIgniter 2.1.0中生成的日志文件名?默认情况下,它的文件名是根据当前日期生成的.
许多框架决定使用这种方法:强制用户扩展基本控制器类(如果要创建新控制器)或扩展基础模型类(如果要创建新模型).
我们来看看CodeIgniter控制器基类的代码:
/**
* Constructor
*/
public function __construct()
{
self::$instance =& $this;
// Assign all the class objects that were instantiated by the
// bootstrap file (CodeIgniter.php) to local class variables
// so that CI can run as one big super object.
foreach (is_loaded() as $var => $class)
{
$this->$var =& load_class($class);
}
$this->load =& load_class('Loader', 'core');
$this->load->initialize();
log_message('debug', "Controller Class Initialized");
}
Run Code Online (Sandbox Code Playgroud)
它有什么作用?好吧,就我所知,它只是允许我们使用$this->load->...例如.
让我们来看看__get()模型基类的神奇方法:
/**
* __get
*
* Allows models to access CI's …Run Code Online (Sandbox Code Playgroud) 我遵循了这个指南:http://philpalmieri.com/2009/06/codeigniter-and-wordpress-play-well-together/
这基本上说,安装wordpress,让它工作,然后用Code Igniters替换index.php文件,然后在我们启动CodeIgniter之前在文件的底部,需要word压的wp-load文件.
工作良好.
但是现在,我的$ _SESSION不起作用.我已设置代码点火器来使用数据库会话,并记录会话值,但它仍然无法正常工作.我无法登录我的CodeIgniter系统管理面板,我不能做任何需要会话的事情,因为Sessions不起作用.大声笑.
如何解决这个问题?
我正在使用CodeIgniter,并在编辑表单上从数据库中提取数据。有时,此数据包含撇号,“&”号等。
我如何才能让CI不解析它并将其更改为HTML版本,以便最终用户可以对其进行编辑。
这是编辑表单的图像,此文本字段具有从数据库中提取的数据,并已填充到输入文本字段中。数据不包含任何特殊字符,如下面的第二张图片所示。

这是表格中数据外观的屏幕截图,请注意,我只是从最右边的列中提取。不是第四栏:

如您所知,数据没有以html转换的形式存储,但CI仍在进行转换。
这是上述文本字段的摘要:
<?php
/**
* Form Field attribute settings
* @author Mike DeVita
*/
$companyname = array(
'name' => 'companyname',
'placeholder' => 'Enter Your Companies Name',
'id' => 'companyname',
'value' => set_value('', $points['pointFields']['companyname']->uf_fieldvalue),
'maxlength' => 80,
'size' => 30
);
<div class="_100">
<p><?php echo form_label('Company Name', $companyname['id']); ?><?php echo form_input($companyname); ?></p>
<?php echo form_error($companyname['id']); ?>
</div>
Run Code Online (Sandbox Code Playgroud)
这是插入数据库的片段:
function addUserFieldHtml($compiledHtml){
foreach ($compiledHtml as $cHK => $cHV){
$data = array (
'pointid' => $cHV['pointId'],
'timestamp' => time(),
'html' …Run Code Online (Sandbox Code Playgroud) 我即将开始一个基于CodeIgniter的项目,并计划使用Git作为我们的DVCS.我将与其他一些开发人员合作,中央(源)服务器是私有托管的.但是我也想开源它并稍后将代码发布给Github.
我的问题是,有没有办法在Git中分离配置文件,以便配置文件中的私人信息不会发送到Github远程,而是发送到源和其他对等体.
另一个问题是我们可以使用类似的解决方案来获得本地开发配置文件和服务器吗?
我有一个输入,可以是十进制或数字。我要使用以下规则:
$this->form_validation->set_rules('price', 'Price', 'decimal|numeric');
Run Code Online (Sandbox Code Playgroud)
但是我认为form_validation帮助器中的规则不能与“或”语句一起使用。如果价格类似“ 149.99”,则有效,但如果价格为“ 150”,则无效。
我是否缺少某些东西,或者是否可能使用类似的东西:
$this->form_validation->set_rules('price', 'Price', 'decimal or numeric');
Run Code Online (Sandbox Code Playgroud) 如何在CodeIgniter的数据库处理程序对象上手动调用PHP数据库函数?如何检索连接($dbc),或调用函数如何mysql_real_escape_string($dbc, $variable)?