Download the PHP package ioannisloukeris/laravel-never-crud without Composer

On this page you can find all versions of the php package ioannisloukeris/laravel-never-crud. 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 laravel-never-crud

LaravelNeverCRUD

Never write CRUD code in projects using Laravel ever again... or something as close as possible to that...

Scope

This is a helper package that is designed to automate writing CRUD for projects using Laravel. CRUD is repetitive enough that 95% of the time you are doing the same things again and again:

Is it rigid? Will it tie my hands and frustrate me?

No. You can customize to your heart’s desire. Every aspect of CRUD can be overridden. You don't even have to use it on all aspects of your project too...

Is it magic?

No.

Does it have limitations?

Of course. If your particular project has very complicated requirements you may end up doing more work than actually implementing CRUD from scratch. This is no magic bullet, you have to think and decide.

Is there a gotcha?

Yes ... and no.

Can you be more specific?

Well... If you use the MVC version of CRUDController (CRUDControllerMVC) everything is as you know it. If not ... we may be changing the whole MVC paradigm of Laravel and extending it to something a bit more complex. This whole thing might sound like a big deal but it isn't. At least as soon as you understand why this package the non MVC version was created and what it is supposed to help you with. We have a version in the works that doesn't do that but it seems a bit lame at the moment. It will be included in the package as soon as we make it a little less lame than it is. The MVC version is included with 1.1.x and you can use it at will.

Aren't you meddling with things that you are not supposed to with the non-MVC version?

Probably yes.

Do you honestly think that you know better than the people that made and maintain Laravel?

No. We certainly don't. And this package is not necessarily useful to you. If you are just making a web site with Laravel, there is a substantial possibility that this is something you don't quite need. If on the other hand you are making a system that contains business logic and provides an API (and optionally a web site too) then this is definitely something that might benefit you. In the first case use the MVC version to speed up prototyping and development. In the second case you are encouraged to take a deeper look and use the non MVC version.

Ok, I am completely lost here, can you PLEASE stop fooling around and explain EXACTLY what this does and how ?

Sure.

Well ???

Ok. Laravel uses MVC. Models to access and manipulate data. Views for displaying them inside premade templates and Controllers to fill the Views with the data. Classic stuff. CRUDControllerMVC follows this too. NeverCRUD (the CRUDController/CRUDHandler/ModelDataService combination) changes this. We introduce the concept of handlers which actually do the work and leave to the controllers the responsibility of sanitizing input. WARNING Security is your responsibility. Sanitizing and validating input is only PART of security and is handled by the NeverCRUD derived controllers automatically. THAT DOESN'T MEAN YOU ARE SECURE!!!! Everything else security wise is YOUR responsibility. Handlers (derived from the NeverCRUD handler) house the business logic. Handlers don't manipulate data directly. No cheating please. NeverCRUD introduces the concept of DataServices. One included data service is ModelDataService which is using models to do its thing. In planning we have a CachedModelDataService that includes the use of cache. Another under development is the APIDataService. What that does is left for you to imagine.

Why do all that? Handlers? DataServices? What is the benefit?

Imagine the following scenario:

Seems the architectural aspect is quite important too...

Depending on what you are doing it is very important. I have been studying DDD and other architectural stuff for some years now and this might end up a new paradigm or a variation of DDD. For the moment let's pretend that this is just a CRUD alleviation package :-)

Versioning

Always use the latest release of the major version you have started with. We don't expect breaking changes in the foreseeable future so all 1.x.x versions should be drop in replacements for previous releases. Breaking changes will be denoted by the increase of the major version number. So for this project:

Examples? Tutorials?

Too lazy. If there is enough interest will do it though. I got my lazy bum to write an example that you can find here:

LaravelNeverCRUD-example


All versions of laravel-never-crud with dependencies

PHP Build Version
Package Version
No informations.
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 ioannisloukeris/laravel-never-crud contains the following files

Loading the files please wait ....