Welcome to PhpSlides!
This framework is a PHP revolution, designed to provide a simple and scalable structure for developing full-stack web applications using the Model-View-Controller (MVC) architectural pattern.
With PhpSlides, you can write HTML, CSS, and JavaScript in a PHP-like way, streamlining the development process and enhancing productivity.
PhpSlides is a lightweight, easy-to-use full-stack framework that helps you build web applications quickly and efficiently. It follows the MVC architectural pattern, separating the application logic into models, views, and controllers to promote code organization and reusability.
Additionally, it provides the capability to write HTML, CSS, and JavaScript in a PHP-like way, making it easier to manage and maintain your front-end and back-end code together.
composer create-project phpslides/phpslides ProjectName
cd ProjectNameClone the repository:
git clone https://github.com/phpslides/phpslides.git
cd phpslidesInstall dependencies:
composer installSet up the web server:
Point your web server to the document root.
Configure the environment:
If the .env file does not exist, copy the env example configuration file and update it with your settings:
cp .env.example .envEdit the .env file to configure database settings, application settings, and other configurations.
APP_NAME=PhpSlides
APP_VERSION=1.4.x
APP_DEBUG=true
APP_ENV=developmentWhich handles the behavior of a viewing files on the web
{
"deny": ["/assets/*.png"],
"message": {
"contents": "403 | Forbidden",
"components": "Errors::403",
"content-type": "text/html",
"http_code": 403
},
"charset": "UTF-8"
}<?php
DOM::create('app')->root([
['id' => 'root'],
Tag::Container([],
Tag::Input(['type' => 'text'], '$$name')
Tag::Text([], 'Hello $$name')
)
]);
DOM::render('app');
?><?php
$style = StyleSheet::create([
'RootStyle' => [
Style::Size => Screen::100,
Style::BackgroundImage => asset('bg.png'),
],
'TextStyle' => [
Style::Color => Color::White,
Style::FontSize => Font::Base,
Style::FontWeight => Font::Bold
]
]);
export($style, 'AppStyle');
?><?php
Route::map(POST, '/index')
->action('Controller::method')
->name('index');
?><?php
Api::v1()->define('/user', 'UserController')
->map([
'/info' => [GET, '@index'],
'/{id}' => [GET, '@show'],
])
->withGuard('auth')
->name('user');
$user_id_route = route('user::1');
?>Here's an overview of the project directory structure:
project_root/
├── app/
│ ├── Forgery/
│ ├── Guards/
│ ├── Http/
│ │ └── Api/
│ │ └── Controller/
├── public/
├── src/
│ ├── routes/
│ ├── configs/
│ ├── resources/
│ │ └── views/
├── vendor/
├── .env
├── .env.example
├── .htaccess
├── composer.json
├── config.json
└── README.md
For detailed documentation, including advanced usage, API references, and more, please visit our documentation website.
We welcome contributions from the community! If you'd like to contribute, please follow these steps:
git checkout -b name/your-feature).git commit -am 'Add a new feature').git push origin name/your-feature).This project is licensed under the MIT License. See the LICENSE file for more details.
Your contributions help us maintain and improve PhpSlides. If you find PhpSlides useful, please consider supporting us financially. Every bit of support goes a long way in ensuring we can continue to develop and enhance the framework.
Support Now!