我正在创建一个ajax函数来编辑一些设置.
这些必须通过网址处理
(即)
该网址为http://example.com/setting1/setting2/setting3
这很好但是.其中一个设置是网址.
我怎么能以这种方式传递这个?
当方法名称存储在变量中时,我可以调用方法吗?语法是什么?假设我有以下PHP代码:
class MyClass {
public $default;
function index() {
/* call method named by $this->default */
}
function method_1() {}
function method_2() {}
...
}
Run Code Online (Sandbox Code Playgroud)
index() 如果没有专门调用其他方法,则在初始化类时默认调用.
如何index()使用MyClass->$default属性调用其中一个方法?也就是说,如果我通常写:
function index() { $this->method_1(); }
Run Code Online (Sandbox Code Playgroud)
我可以使用我的默认变量来调用正确的方法吗?
我正在编写和组织我在codeigniter中的未完成的应用程序,我只是想知道天气最好有很多小型号,所以你只需要在需要时加载你需要的东西; 或制作几个大型模型,所以它只是加载所有功能,即使你只需要其中一个?
任何帮助,将不胜感激.谢谢.
在分析了我的问题后,我想我可能需要在SQL中使用"union"运算符,但我不确定.任何我在codeigniter中链接我的查询来提出这个查询:
SELECT *
FROM (`deals`)
WHERE `category` = 'books'
AND `host` = 'amazon'
OR `host` = 'zappos'
OR `host` = 'newegg'
ORDER BY `time` desc
Run Code Online (Sandbox Code Playgroud)
因此,它会选择不属于类别书籍但来自这些主机的内容.所以我希望能够让它只返回书中的结果,并拥有这三者中的任何一个.我更喜欢使用数据库查询而不是之后手动过滤.我正在使用带有innoDB表的MySQL.谢谢
如果我希望我的网络应用中的每个用户能够上传大约6张带描述的图片,那么在数据库中存储该信息的最佳方式是什么?
你会怎么做?
我需要我的控制器名称为"目录",所以我可以为我的业务目录页面添加URL "mysite.com/directory".但问题是"目录"是一个预定义的php类,所以我不能再声明它.它给出了错误
致命错误:无法在第8行的C:\ wamp\www\Logistica\system\application\controllers\directory.php中重新声明类目录
有没有办法我可以将我的类和控制器重命名为其他东西,并且仍然在URL中有"目录"?
我是Codeigniter的初学者,想知道我做了一个很好的网络应用程序的巨大知识.请给我一些网站链接(教程)或书籍(网站链接),我抓住以提高我的知识.
我正在使用CodeIgniter的Session类来管理购物车/结账系统的会话.会话数据存储在数据库中,会话ID存储在cookie中.所有购物车信息都通过AJAX检索,并与会话ID一起保存在会话中.
现在我使用PHP/CodeIgniter生成的会话ID作为跟踪用户的方法.用户不登录到站点,并且商店和购物车/结账系统位于不同的域中,因此这是将它们绑定到存储在会话/数据库中的购物车的唯一事物.我在表单上的隐藏字段中使用此会话ID,并在链接中作为参数使用,以便在任何请求时将其发送到服务器(添加项目,删除项目,查看购物车等...)
CodeIgniter允许您设置重新生成会话ID的时间,现在我将其设置为10分钟.我在默认情况下使用它但是时间太短,因为如果用户在页面上停留的时间太长,则动态写入链接和表单的会话ID将过时并且不再与其购物车数据相关联.
这显然不是一个很好的解决方案.允许以较低的间隔重新生成会话ID的最佳方法是什么,但即使用户等待10分钟以上(没有页面刷新)来执行操作,仍然会将用户与其购物车数据挂钩?
我已经将相应的配置数组添加到database.php并且它们可以工作,但是,我想要一种更简单的方法来访问不同的数据库.现在我必须在每个控制器方法中做这样的事情:
function index(){
$BILLING = $this->load->database('billing', TRUE);
$INVENTORY = $this->load->database('inventory', TRUE);
$data['billing'] = $BILLING->get('stuff');
$data['inventory'] = $INVENTORY->get('stuff');
}
Run Code Online (Sandbox Code Playgroud)
我希望能够将前两行放在某种过滤器或pre_controller挂钩之前.