https://github.com/initphp/views
InitPHP Views
https://github.com/initphp/views
Last synced: 6 months ago
JSON representation
InitPHP Views
- Host: GitHub
- URL: https://github.com/initphp/views
- Owner: InitPHP
- License: mit
- Created: 2023-01-14T07:08:03.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-01-14T07:31:44.000Z (about 3 years ago)
- Last Synced: 2025-01-26T03:13:44.366Z (about 1 year ago)
- Language: PHP
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# InitPHP Views
### Installation
```
composer require initphp/views
```
### Usage
_**Note :** Remember to choose to work with an adapter before using it._
```php
$data = [
'username' => 'admin'
];
echo view('dashboard/dashboard', $data);
```
Give a string array to load multiple views.
```php
$data = [
'username' => 'admin'
];
echo view(['header', 'content', 'footer'], $data);
```
`$data` can be an associative array or an object.
```php
$data = new stdClass;
$data->username = 'admin';
echo view('dashboard/profile', $data);
```
## Adapters
### PurePHP Adapter
```php
use \InitPHP\Views\Facade\View;
use \InitPHP\Views\Adapters\PurePHPAdapter;
$viewAdapter = new PurePHPAdapter(__DIR__ . '/Views/');
View::via($viewAdapter);
```
__Note :__ This adapter uses `.php` for the extension of the view files. If the view file does not end with `.php` it is added automatically.
__Note :__ This adapter includes the view files as a PHP file at runtime.
### Laravel Blade (Illuminate/View) Adapter
Don't forget to install the relevant packages before you start.
```
composer require illuminate/view
```
To start using the adapter, just generate the Instance of the relevant adapter.
```php
use \InitPHP\Views\Facade\View;
use \InitPHP\Views\Adapters\BladeAdapter;
$viewAdapter = new BladeAdapter(__DIR__ . '/Views/', __DIR__ . '/Cache/');
View::via($viewAdapter);
```
__Note :__ This adapter may have some unique changes. [Docs](https://laravel.com/docs/9.x/blade)
```php
View::directive('now', function ($format = null) {
return '';
});
// @now
// @now("Y-m-d")
```
### Symfony Twig (Twig/Twig) Adapter
Don't forget to install the relevant packages before you start.
```
composer require twig/twig
```
To start using the adapter, just generate the Instance of the relevant adapter.
```php
use \InitPHP\Views\Facade\View;
use \InitPHP\Views\Adapters\TwigAdapter;
$viewAdapter = new TwigAdapter(__DIR__ . '/Views/', __DIR__ . '/Cache/');
View::via($viewAdapter);
```
__Note :__ Note that the Twig engine accepts any file extension and you have to specify it manually. [Docs](https://twig.symfony.com/doc/3.x/templates.html)
```php
$data = [
'username' => 'admin'
];
echo view('dashboard/dashboard.html', $data);
```
## Credits
- [Muhammet ŞAFAK](https://www.muhammetsafak.com.tr) <>
## License
Copyright © 2022 [MIT License](./LICENSE)