2017-07-10 1 views
0

Comment puis-je accéder à la classe getid3 et l'utiliser dans mon contrôleur?Charger la bibliothèque externe dans le codeigniter

project 
/application 
/controller 
/libraries 
    /getID3 
     /getid3 
      getid3.php 
/model 
/views 
+0

cochez [this] (https://stackoverflow.com/questions/20182724/how-to-load-class-library-in-codeigniter) – Regolith

+0

Le code de getid3.php est écrit dans des syntaxes codeigniter? ou c'est totalement différent? – Bhavin

+0

@Bhavin c'est un code différent. Une bibliothèque externe. –

Répondre

1

Utilisez la constante intégrée de CodeIgniter, APPPATH. (Parce que le code n'est pas écrit dans les syntaxes de CodeIgniter)

`require_once(APPPATH.'libraries/getID3/getid3/getid3.php');` 

Si cette bibliothèque est construite dans la bibliothèque de CodeIgniter alors vous devriez utiliser.

$this->load->library('libary name'); 
+0

Cette réponse fonctionne! –

0

De CI Documentation

vous pouvez charger la bibliothèque en faisant

$this->load->library('getID3/getid3/Getid3'); 

Comme expliqué dans la documentation si vous avez le fichier situé dans un sous-répertoire comme

Vous chargerez à l'aide :

$this->load->library('flavors/chocolate');

+0

votre nom de fichier devrait être comme ceci 'Getid3.php'. voir [File Naming] (https://www.codeigniter.com/user_guide/general/styleguide.html#file-naming) – Regolith

0

Vous pouvez tout simplement faire un require_once sur le fichier principal GetID3.php

require_once(APPPATH.'libraries/getID3/getid3/getid3.php');

mais il y a des moyens plus propres, pour gérer cette dépendance des tiers. Au lieu de demander directement le fichier GetID3.php, je recommande de créer une classe wrapper pour la bibliothèque. La création d'une classe wrapper vous donne la possibilité d'étendre/écraser la bibliothèque getid3 et fournit une implémentation plus propre en vous permettant de faire les choses de la manière "codeigniter".

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 

class GetID3 { 

    function __construct ($options = array()) 
    { 
     require_once(APPPATH . 'third_party/getID3/getid3/getid3.php'); 
    } 

    public function __get($var) { return get_instance()->$var; } 
} 

En procédant ainsi, fournit une interface propre à travailler et permet une approche plus évolutive pour gérer la dépendance des tiers. En outre, pas la structure du répertoire. Ici, nous sauvegardons les dépendances de tiers dans le répertoire third_party tout en enregistrant la classe wrapper dans libraries/GetID3.php.

Une fois que vous avez mis en place cette façon, vous pouvez charger la bibliothèque comme vous le feriez normalement:

$this->load->library('GetID3'); 
0

En ce qui concerne la structure de votre fichier Codeigniter a la solution pour elle:

project 
/application 
/controller 
/libraries 
    /getID3 
     /getid3 
      getid3.php 
/model 
/views 

maintenant Pour appelez le Getid3.php la bibliothèque dont vous avez besoin pour ajouter ce code ci-dessous dans le contrôleur.

$this->load->library ('getID3/getid3/getid3', '', 'getid3(you can add any name you want'); 

maintenant utiliser ceci:

$this->getid3->your_function($data); 

S'il vous plaît noter que Getid3.php doit commencer par la lettre majuscule.