Codeigniter de la Classe de REST_Controller' ne trouve pas
Je vais avoir un problème avec le populaire API REST codeigniter maintenu par Chris Kacerguis.J'ai créé un Datadiri contrôleur qui ressemble à ceci:
<?php
require (APPPATH.'/libraries/REST_Controller.php');
class Datadiri extends REST_Controller{
function __construct($config = 'rest'){
parent::__construct($config);
}
//tampilkan data
function index(){
$buku = $this->db->get('perpustakaan');
$this->response($buku, 200);
}
}
C'est Rest_controller.php
https://github.com/chriskacerguis/codeigniter-restserver/blob/master/application/libraries/REST_Controller.php
Mais tout de même, l'erreur de la Classe de REST_Controller' ne trouve pas. comment puis-je résoudre ce problème?
Fatal error: Class 'REST_Controller' ne trouve pas dans
C:\xampp\htdocs\CodeIgniter\application\controllers\datadiri.php sur
ligne 4 UNE Erreur PHP a été rencontréeGravité: Erreur
Message: la Classe de REST_Controller' ne trouve pas
Nom de fichier: controllers/datadiri.php
Numéro De Ligne: 4
Backtrace:
- Pouvez-vous imprimer APPPATH.'/libraries/REST_Controller.php pour s'assurer qu'il est exact? Que faut-il dire?
- ok, modifier ma question. @sergChernata
- Je ne la vois pas. Pouvez-vous faire - impression APPPATH.'/libraries/REST_Controller.php " et coller le résultat dans votre question?
- - il dire 404 Page Non Trouvée
- Cela fait donc sens, il faut imprimer une chaîne.
- Kurniawan êtes-vous à l'aide de HMVC ou pas?
- pas encore, c'est mon premier test à l'aide de l'api rest.
- Kurniawan essayez-dessous de la réponse.
- Essayez de stackoverflow.com/a/56829130/496176
Vous devez vous connecter pour publier un commentaire.
Enfin le problème est résolu.
iam modifier application/config/config.php
de :
$config['subclass_prefix'] = 'MY_';
pour :
$config['subclass_prefix'] = 'REST_';
Et Datadiri.php comme ceci :
dans votre contrôleur api php assurez-vous avoir présent,
et ensuite, allez à votre Rest_Controller et assurez-vous que vous avez ce
Espère que cela vous aider à
J'ai eu le même problème et l'ajout de l'espace de noms après le require() instruction du contrôleur résolu le problème.
Après:
Ajouter ceci:
Sans l'aide de Compositeur.
Juste avant la ligne "Exemple de classe s'étend REST_Controller {"
ajouter:
besoin APPPATH . 'libraries/REST_Controller.php';
besoin APPPATH . 'libraries/Format.php';
Après cela, il va ressembler:
...
besoin APPPATH . 'libraries/REST_Controller.php';
besoin APPPATH . 'libraries/Format.php';
Exemple de classe s'étend REST_Controller {
...
Pour les tests:
- Ouvrez le projet dans votre navigateur
- Dans l'écran d'accueil, cliquez sur le REPOS Tests de Serveur
- Sur l'écran suivant, cliquez sur Utilisateurs (défaillante, JSON)
Permet d'essayer comme ci-dessous....
OU
Mettre le
REST_Controller.php
dansapplication/core
puis justePas besoin d'inclure un fichier placé dans le dossier core.
require (APPPATH.'libraries/REST_Controller.php');
echo (APPPATH.'libraries/REST_Controller.php');
cette bibliothèque va se déplacer dans de Compositeur, de sorte que vous aurez besoin pour exécuter
et changement
$config['COMPOSER_AUTOLOAD']
àtrue
dans le fichier de configurationSon un deux voies problème de référence, vous pouvez d'abord de le résoudre en faisant les deux étapes suivantes:
1-Dans votre classe de l'api d'ajouter le code suivant au début:
2-Dans le fichier : application/libraries/REST_Controller.php
ajouter :
avant
Cheers!
J'ai eu le même problème lors de la mise en œuvre de ce dans mon propre Codeigniter projet.
Je viens de copier Format.php et REST_Controller.php fichiers dans Bibliothèques Dossier.
Après avoir placé ces fichiers dans le Dossier Libraries, vous devez changer
espace de noms Restserver\Bibliothèques;
pour
espace de noms YOUR_PROJECT_NAME\Bibliothèques;
dans les deux fichiers (Format.php et REST_controller.php).
et dans votre contrôleur qui s'étend REST_Controller mettre ces trois lignes à droite après la balise php
utilisation YOUR_PROJECT_NAME\Libraries\REST_Controller;
besoin APPPATH . 'libraries/REST_Controller.php';
besoin APPPATH . 'libraries/Format.php';
Espère que ça aidera quelqu'un. Grâce
Meilleur moyen est d'installer à l'aide du compositeur, alors la charge de compositeur de chargement automatique de fichiers dans codeigniter et l'utilisation de l'espace de noms
use Restserver\Libraries\REST_Controller;
à vous de contrôleur qui s'étendREST_Controller
.ajouter cette...
J'espère que cela va fonctionner 🙂