fol / core
The core of FOL framework
Installs: 1 696
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: >=5.5.0
- container-interop/container-interop: *
- dev-master
- v11.1.0
- v11.0.0
- v10.0.1
- v10.0.0
- v9.0.2
- v9.0.1
- v9.0.0
- v8.2.0
- v8.1.0
- v8.0.1
- v8.0.0
- v7.2
- v7.1
- v7.0
- v6.0
- v5.1
- v5.0
- v4.1.0
- v4.0.0
- v3.4.4
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.1
- v3.3.0
- v3.2.0
- v3.1.1
- v3.1.0
- v3.0.0
- v2.6.0
- v2.5.0
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- v2.0.2
- v2.0.1
- v2.0.0
- v1.7.0
- v1.6.0
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.0
- v0.8.0
- v0.7.0
- v0.6.1
- v0.6.0
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.5
- v0.2.4
- dev-scrutinizer-patch-1
This package is auto-updated.
Last update: 2022-02-01 12:27:49 UTC
README
Trátase dunha simple clase que serve de contenedor da nosa app. Contén as seguintes funcionalidades:
Container-interop
Compatible coa interface container-interop, o que permite interactuar con outros contedores. Podes especificar dependencias ou engadir outros contenedores:
$app = new Fol(); //Definir dependencias: $app->set('database', function () { return new MyDatabaseClass($config); }); //Engadir outros conenedores compatibles con Container-Interop $app->add($container); //Engadir un ServiceProviderInterface $app->register(new MyServiceProvider()); //Obter as dependencias $database = $app->get('database'); //Tamén podes usar a interface de array para engadir/obter dependencias: $database = $app['database']; $app['templates'] = function () { return new TemplatesEngine(); };
Path
A parte de servir de container, tamén serve para definir o path da nosa aplicación. O path é simplemente a ruta absoluta ao directorio da aplicación:
$app = new Fol(); //Dame a ruta $app->getPath(); // /var/www/sitioweb/app //Dame a ruta xuntándolle estas pezas: $app->getPath('dir/subdir', '../outro'); // /var/www/sitioweb/dir/outro //O path calculase automaticamente (o directorio onde se atopa a clase instanciada) pero podes cambialo: $path->setPath(__DIR__); //Nunca pode rematar en "/"
Url
Outra función é gardar a url pública dende a que se accede á nosa app, útil para xerar links, por exemplo:
$app = new Fol(); //Define unha url $app->setUrl('http://localhost/o-meu-sitio'); //Dame a url $app->getUrl(); // http://localhost/o-meu-sitio //Dame só o path $app->getUrlPath(); // /o-meu-sitio //Dame só o host $app->getUrlHost(); // http://localhost //Tamén podes engadirlle pezas: $app->getUrl('post/1', 'ver'); // http://localhost/o-meu-sitio/post/1/ver $app->getUrlPath('post/1', 'ver'); // /o-meu-sitio/post/1/ver
Namespace
Por último, temos unha utilidade para devolver o namespace da app. Útil para instanciar clases relativas.
namespace App; use Fol; class App extends Fol { } $app = new App(); //Dame o namespace $app->getNamespace(); // App //Tamén podes engadirlle pezas $app->getNamespace('Controllers\\Base'); // App\\Controllers\\Base;