Quali sono le convenzioni di denominazione? Devo usare uno spazio dei nomi specifico?
La classe dei grafici SVG dovrebbe avere uno spazio dei nomi. Per gli spazi dei nomi è possibile vedere http://php.net/manual/en/language.namespaces.rationale.php
Dove inserisco il file che contiene la classe PHP?
Creare una cartella per autore (qui potrebbe essere il vostro nome, come sei l'autore) in vendor
quindi creare il codice categoria all'interno di esso convenzione è fornitore/$ autore/$ pacchetto . Si può leggere di più http://book.cakephp.org/3.0/en/core-libraries/app.html#loading-vendor-files
Come posso includerlo e utilizzarlo in un controller o una vista? ..
a) Per includere:
require_once (.ds root 'Venditore' DS 'MyClass' DS 'MyClass.php');...
(sostituire MyClass dal nomecartella e MyClass.php dal filename.php)
b) Per utilizzarlo:
aggiungere use MyClass\MyClass;
nel controller
Per esempio Voglio aggiungere MyClass in un controller. Passi che hanno lavorato per me
- Creazione fornitore cartella \ MiaClasse
- incollare MyClass.php in quella cartella
- aggiungendo
namespace MyClass;
in cima MyClass.php
MyClass.php hanno seguente codice, ad esempio:
namespace MyClass;
class MyClass
{
public $prop1 = "I'm a class property!";
public function setProperty($newval)
{
$this->prop1 = $newval;
}
public function getProperty()
{
return $this->prop1 . "<br />";
}
}
Aggiunta use MyClass\MyClass;
nella parte superiore del regolatore
Poi compresi nella mia azione del controller. La mia azione campione
public function test()
{
require_once(ROOT .DS. "Vendor" . DS . "MyClass" . DS . "MyClass.php");
$obj = new MyClass;
$obj2 = new MyClass;
echo $obj->getProperty();
echo $obj2->getProperty();
exit;
}
fonte
2015-02-15 15:27:33
Hey Jon, benvenuto per Stack Overflow! Questa domanda sarà probabilmente vicina perché non hai una specifica domanda di programmazione, ma vorrei indicarti la giusta direzione. Innanzitutto, Cake 3.0 utilizza l'autoloading [PSR-4] (http://www.php-fig.org/psr/psr-4/), quindi è un buon punto di partenza. Inoltre, leggi le [convenzioni e i livelli di Cake's MVC] (http://book.cakephp.org/3.0/en/intro.html) per decidere dove potrebbe appartenere la tua classe. Oppure [crea il tuo] (http://culttt.com/2014/05/07/create-psr-4-php-package/) Pacchetto PSR-4 e caricalo da qualche parte all'interno di Cake (nel livello appropriato è probabilmente il migliore). – jeremyharris