J'ai index.php
et je veux inclure class.Twitter.php
à l'intérieur, comment faire?
J'espère que lorsque je mettrai le code ci-dessous dans index.php, cela fonctionnera.
$t = new Twitter();
$t->username = 'user';
$t->password = 'password';
$data = $t->publicTimeline();
Votre code devrait ressembler à quelque chose
require_once('class.Twitter.php');
$t = new Twitter;
$t->username = 'user';
$t->password = 'password';
$data = $t->publicTimeline();
Vous pouvez utiliser l'une des méthodes suivantes:
include "class.Twitter.php";
ou
require "class.Twitter.php";
Utilisation de require
(ou require_once
si vous voulez vous assurer que la classe n'est chargée qu'une seule fois pendant l'exécution) provoquera une erreur fatale si le fichier n'existe pas, tandis que include
ne déclenchera qu'un avertissement. Voir http://php.net/require et http://php.net/include pour plus de détails
use
de l'interface de ligne de commande:Les espaces de noms PHP ne fonctionnent pas sur la ligne de commande, sauf si vous incluez ou exigez également le fichier php. Lorsque le fichier php se trouve dans l'espace Web où il est interprété par le démon php, vous n'avez pas besoin de la ligne requise. Tout ce dont vous avez besoin est la ligne "use".
Créez un nouveau répertoire /home/el/bin
Créez un nouveau fichier appelé namespace_example.php
et y mettre ce code:
<?php
require '/home/el/bin/mylib.php';
use foobarwhatever\dingdong\penguinclass;
$mypenguin = new penguinclass();
echo $mypenguin->msg();
?>
Créez un autre fichier appelé mylib.php
et y mettre ce code:
<?php
namespace foobarwhatever\dingdong;
class penguinclass
{
public function msg() {
return "It's a beautiful day chris, come out and play! " .
"NO! *SLAM!* taka taka taka taka.";
}
}
?>
Exécutez-le à partir de la ligne de commande comme ceci:
el@apollo:~/bin$ php namespace_example.php
Qui imprime:
It's a beautiful day chris, come out and play!
NO! *SLAM!* taka taka taka taka
Voir les notes à ce sujet dans les commentaires ici: http://php.net/manual/en/language.namespaces.importing.php
Je vous suggère également de consulter __ autoload .
Cela nettoiera le code de require et includes.
require('/yourpath/yourphp.php');
require_once('/yourpath/yourphp.php');
include '/yourpath/yourphp.php';
use \Yourapp\Yourname
Remarques:
Évitez d'utiliser require_once car il est lent: Pourquoi est-ce que require_once est si mauvais à utiliser?
Vérifiez: http://www.php.net/require et http://www.php.net/include