标签: codeigniter-2

Kohana与CodeIgniter有何不同?

我一直在使用CodeIgniter很长一段时间,但是最近我一直觉得需要转向更先进/更多的OOP框架.Kohana似乎是一个经常被推荐的选项,我的问题是,Kohana与CodeIgniter有何不同?差异列表,特别是语法差异,会很棒.

php codeigniter kohana kohana-3 codeigniter-2

23
推荐指数
1
解决办法
8989
查看次数

在codeigniter中放置全局函数的位置

我创建了一些实用功能,就像一个h()充当echo htmlentities($var).我希望这些功能随处可用.所以我把它放在哪里.

php codeigniter codeigniter-2

23
推荐指数
2
解决办法
2万
查看次数

如何将2个参数路由到控制器?

这看起来非常基本,但我无法理解它.

我正在尝试向控制器中的方法发送多个参数,如下所示:

http://localhost/ci/index.php/subjects/3/state
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的路线:

$route['subjects/(:num)'] = 'subjects/view/$1';
$route['subjects/(:num)/{:any}'] = 'subjects/view/$1/$2';
Run Code Online (Sandbox Code Playgroud)

方法接受2个参数:

public function view($slug, $id = null){

}
Run Code Online (Sandbox Code Playgroud)

但我似乎得到了404.我怎么能让这个工作?我需要view方法总是接受1个参数和可选的其他参数.

注意:我包括网址助手.

codeigniter codeigniter-url codeigniter-2 codeigniter-routing

22
推荐指数
2
解决办法
5万
查看次数

CodeIgniter 2.0/PHPUnit发生了吗?

所以我早上/周末的表现非常令人失望.它以设置PHPUnit,集成Eclipse等形式出现

现在我刚刚发现没有直接从PHPUnit测试CodeIgniter 2.0应用程序的方法.

我花了很多时间研究库(FooStack和CIUnit)但这些库的开发已经停止并且与CI 2.0不兼容

在我参加包含2.0单元测试课程之前,我需要问一下,我是否错过了有关CI 2.0和PHPUnit的任何重大进展.

任何指导都非常感谢.

谢谢,康纳

phpunit unit-testing codeigniter-2

20
推荐指数
1
解决办法
5087
查看次数

使用CodeIgniter在子文件夹中路由控制器

因为我想分离系统的前端和后端.我在控制器中创建了2个文件夹作为前端和后端

下面是我的控制器文件夹的结构

controller
 --frontend
   ---store.php
   ---processing.php
   ---profile.php
   ---authenticate.php
   ---register.php 

 --backend
   ---authenticate.php
   ---stats.php
   ---users.php
   ---property_manage.php
   ---register.php 
Run Code Online (Sandbox Code Playgroud)

我可以通过使用来访问这些功能

frontend/store/add
frontend/store/manage
......

backend/stats/sales
backend/stats/payments
.....
Run Code Online (Sandbox Code Playgroud)

但我想从网址中取下前端和后端段.

我检查了codeigniter中的路由功能,但据我所知,我需要单独指定每条路由.由于我有大约12个控制器,每个控制器有大约10-15个功能,我可能需要指定路由的每个功能.

有没有其他有效的方法来实现使用路由或任何其他方式?(不使用任何htaccess)

php codeigniter codeigniter-2

20
推荐指数
1
解决办法
3万
查看次数

扩展CodeIgniter中的Controller类

我有class MY_Controller extends CI_Controller大型配置文件部分的常用逻辑,所以I'va尝试class Profile extends MY_Controller使用配置文件部分的通用逻辑创建,所有与此部分相关的类都应该扩展此Profile类,正如我所理解的那样,但是当我尝试创建时class Index extends Profile我收到错误:

Fatal error: Class 'Profile' not found
Run Code Online (Sandbox Code Playgroud)

CodeIgniter试图找到index.php我正在运行的这个类.

我的错误在哪里?或者也许有更好的方法来标记共同的逻辑?

php codeigniter codeigniter-2

19
推荐指数
3
解决办法
3万
查看次数

CodeIgniter 2.1与show_404()和404_override有关

我一直在与CodeIgniter合作已经有一段时间了,我现在正在为一个想要自定义404页面的客户做一个项目.一切都很好,404_override而且效果很好.

我的问题出现在访问者试图访问不存在的文章时我想调用该show_404()函数,但这显示了"out of box"404页面,而不是404_override中写的那个.

我已经看到了旧版本的一些修复,但我无法在2.1中使用它.所以如果有人可以帮助我,我将非常感激.

php codeigniter http-status-code-404 codeigniter-2

18
推荐指数
1
解决办法
1万
查看次数

在codeigniter中使用Mysql WHERE IN子句

我有以下mysql查询.你能告诉我如何用Codeigniter的方式编写相同的查询吗?

SELECT * FROM myTable 
         WHERE trans_id IN ( SELECT trans_id FROM myTable WHERE code='B') 
         AND code!='B'
Run Code Online (Sandbox Code Playgroud)

codeigniter codeigniter-2

17
推荐指数
3
解决办法
9万
查看次数

CodeIgniter将POST数据从RestClient传递到RestServer API

我花了一整天的时间试图找出这个问题.在这里发布这个问题是我最后的希望.我希望有人能帮助我继续完成我的第一份工作.

因此,当直接将数据从我的视图传递到RestServer时,POST工作正常.但是,RESTServer API无法找到从RestClient发送的POST数据.

以下是片段:

RestClient API:

        $ver = 'v1';
        $config = array('server'          => base_url()."v1",
                        'api_key'         => 'xxxxxx',
                        'api_name'        => 'X-API-KEY',
                        'http_user'       => 'admin',
                        'http_pass'       => 'xxxxx',
                        'http_auth'       => 'basic',
                );

        $this->rest->initialize($config);
        $this->rest->format('application/json');
        $param = array(
                'id' => $this->input->post('id'), // works fine here
                'name' => $this->input->post('name')
                );
        $user = $this->rest->post('employer/postNewProject', $param, 'json');


        //if (isset($user->errors)) show_404('admin');
        $this->rest->debug();
Run Code Online (Sandbox Code Playgroud)

RestServer API

class Employer extends REST_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->lang->load("application");
        $this->load->library("users/auth"); 
        Datamapper::add_model_path( array( APPPATH."modules" ) );
    }

    public function postNewProject_post()
    {  
        // …
Run Code Online (Sandbox Code Playgroud)

php codeigniter rest-client codeigniter-2 codeigniter-restserver

17
推荐指数
2
解决办法
1万
查看次数

使用CodeIgniter 2.xx运行命令行时遇到PHP错误

我已按照官方codeigniter网站上提供的确切指南来运行CLI(命令行界面)工具.https://www.codeigniter.com/userguide2/general/cli.html

我的控制器是......

<?php
class Tools extends CI_Controller {

    public function message($to = 'World')
    {
    echo "Hello {$to}!".PHP_EOL;
    }

} ?>
Run Code Online (Sandbox Code Playgroud)

当我从我的CMD运行以下命令时,我在命令行窗口中得到以下输出(和错误):

php index.php tools message

<h4>A PHP Error was encountered.</h4>
<p>Severity: Notice</p>
<p>Message: Undefined index: REMOTE_ADDR</p>
<p>Filename: core/Input.php</p>
<p>Line Number: 351</p>
.....
<h4>A PHP Error was encountered</h4>
<p>Message: Cannot modify header information - headers already sent by (output at C:{systempath}\system\2.1.4\core\Exceptions.php:185)</p>
<p>Filename: libraries/Session.php</p>
<p>Line Number: 675</p>

</div>Hello World!
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么我会遇到这个问题?我也按照官方的Codeigniter CLI教程来学习本教程 - 任何想法?我正在使用CodeIgniter 2.1.4和XAMPP(Windows).

php command-line codeigniter command-line-interface codeigniter-2

16
推荐指数
1
解决办法
9130
查看次数