Download the PHP package samuelgfeller/slim-example-project without Composer

On this page you can find all versions of the php package samuelgfeller/slim-example-project. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package slim-example-project

Slim Example Project

Latest Version on Packagist Code Coverage Build Status Quality Score

Real-world example of a modern Slim 4 web application with a scalable structure and a variety of components and features.

The project applies current best practices and programming principles, with a strong emphasis on the Single Responsibility Principle (SRP).
External library dependencies are kept to a minimum to facilitate maintenance and ensure long-term viability.

The architecture is inspired by the Domain Driven Design (DDD) and the Vertical Slice Architecture.

The base for this project was the official Slim-Skeleton and the slim4-skeleton.

A detailed documentation explains how the project is built, components, design choices and features.

Stripped down versions of this repository are available as skeleton templates. With frontend slim-starter or just for an API: slim-api-starter.

Please read the installation guide to get started.

Features

All the features were developed with an effort to ensure maximum user-friendliness. The frontend, intuitive, aesthetically pleasing, minimalistic, and functional. The backend, efficient and secure.

Technologies:

Functionalities demonstrating real-world features:

This project is currently designed for non-profit organizations or foundations that require a platform to manage and maintain a record of communication through notes of people they help.

Click to see demo Link: [Login](https://demo.slim-example-project.samuel-gfeller.ch) Username: `[email protected]` Password: `12345678` The database is regularly reset.

Motivation to create this project

There is a ton of great content on the internet about learning how to write clean and sustainable code. However, I found myself searching for more than just skeleton projects or general documentations and tutorials when I wanted to learn how to do things within the scope of a potential real-world application. I never found resources such as an open-source, efficient implementation of all the features surrounding a full-sized project.

This is what I try to provide here. This project isn't just a skeleton, it contains a lot of opinionated practical examples on how to implement features that are often necessary in real-world applications.

That includes authorization, integration testing, localization, validation, error handling, database migrations, mailing, console commands, request throttling, lightweight PHP template rendering, GitHub Actions, and more along with detailed explanations in the documentation.

But it's not just about the features. Equally important are the architecture and how the components interact with each other, following modern principles such as the Single Responsibility Principle and Dependency Injection.

Of course, there are big frameworks that have their own well-established set of programming conventions and implementations of features.

However, I find them often too complex, where the code makes too much "behind the scenes" and with lots of dependencies, which can lead to time-consuming refactoring on version changes.
I also dislike having to follow the propitiatory rules of a framework which often don't follow best practices and much prefer the freedom of a micro-framework and carefully choosing the libraries and structure that make sense for the project.
This lets me stay in control of the codebase, keep it lightweight, performant and tailored to the needs of the project, and it's easier to maintain and adapt to new requirements.

Disclaimer

This project and its documentation are the result of my personal learning process in the last 6 years in trying to create the best possible template app with lots of real world examples. Three of the 6 years were spent full time on this project alone.
I made what wish I had when I started getting seriously into web development.

The codebase is big and thus lots of subjective decisions had to be made that may not be the best long-term solution for everybody.

The main focus throughout the development was to make the code as long living as possible with best practices and few dependencies so that it can be adapted to different needs and preferences.

Basically, this is my take on what an efficient, extensible, and maintainable web app could look like with today's tech.

I worked closely with the software engineer and architect Daniel Opitz, who also reviewed this project. I learned a lot during our exchanges and was inspired by his books, articles, tutorials and his slim skeleton-project.

Support

Please read the Support❤️ page if you value this project and its documentation and want to support it.

License

This project is licensed under the MIT License — see the LICENSE file for details.


All versions of slim-example-project with dependencies

PHP Build Version
Package Version
Requires slim/slim Version ^4
monolog/monolog Version ^3
php-di/php-di Version ^7.0
cakephp/database Version ^5
slim/php-view Version ^3.0
cakephp/validation Version ^5.0
selective/basepath Version ^2.0
symfony/mailer Version ^7
odan/session Version ^6
php Version ^8.2
ext-pdo Version *
ext-json Version *
ext-gettext Version *
ext-intl Version *
nyholm/psr7 Version ^1
nyholm/psr7-server Version ^1
samuelgfeller/slim-error-renderer Version ^1.0
fig/http-message-util Version ^1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package samuelgfeller/slim-example-project contains the following files

Loading the files please wait ....