Как я могу исправить это "Объект не найден!" ошибка в CodeIgniter-4? - PullRequest
1 голос
/ 13 апреля 2020

Я проверил имя контроллера и имя метода, но все равно он говорит: «Запрашиваемый URL-адрес не найден на этом сервере. Если вы ввели URL-адрес вручную, проверьте правильность написания и повторите попытку».

Я попробовал этот URL, указанный ниже, и получил эту ошибку:

http://localhost/framework/index.php/helloworld
http://localhost/framework/helloworld/index

Файл под именем контроллера: Helloworld. php

<?php namespace App\Controllers;
use CodeIgniter\Controller;
class Helloworld extends CI_Controller
{
public function index()
{
echo 'Hello World!';
}

введите описание изображения здесь

Ответы [ 4 ]

3 голосов
/ 13 апреля 2020

Изменить

class Helloworld extends CI_Controller

на

class Helloworld extends Controller

в CI4 CI_Controller переименован в Controller

1 голос
/ 13 апреля 2020

Если вы пытаетесь использовать Codeigniter 4 без использования htaccess, вы должны позвонить как

http://localhost/framework/public/helloworld

Или запустить Codeigniter с помощью этой команды

php spark serve 

После этого go для проверки браузера http://localhost: 8080

Вы должны изучить основы codeigniter 4 Здесь Как использовать codeigniter 4

Надеюсь, это поможет

0 голосов
/ 14 апреля 2020

В большинстве комментариев было указано, что все, что вам нужно было сделать, это переименовать ваш CI_Controller в простой простой ole Контроллер (согласно руководству пользователя CI 4) и то, что вы заявили в своем «использовании».

То есть у вас будет

<?php namespace App\Controllers;

use CodeIgniter\Controller; // This is what you are "use"ing

class Helloworld extends Controller {  // And this is where you are "use"ing it
    public function index() {
        echo 'Hello World!';
    }
}

Видите разницу?

0 голосов
/ 13 апреля 2020

Попробуйте после внесения следующих изменений -

  • Удалить оператор использования.
  • Расширить BaseController, так как CI_Controller недоступен в CI4.
  • Возвратите что Вы хотите показать на экране.

    <?php namespace App\Controllers;
    
     class Helloworld extends BaseController {
       public function index() {
           return 'Hello World!';
       }
     }
    
...