CRUDlex is an easy to use CRUD generator for Symfony 4 and Silex 2 which is great for auto generated admin pages

Overview

CRUDlex

CRUDlex is an easy to use, well documented and tested CRUD generator for Symfony 4 and Silex 2. It is very useful to generate admin pages for example.

Support via Gratipay

List View of CRUDlex

Features

  • Generates a web application for managing MySQL stored data
    • C reate entries
    • R ead entries in a list and the details of single ones
    • U pdate entries
    • D elete entries
  • The list of entries is paginated, sortable and filterable
  • The entries can be relational, one-to-many and many-to-many is supported
  • Managing files is supported, either stored in the filesystem or at AWS S3 as addon
  • The UI is available in multiple languages
  • File storage is abstract, implementing other systems than the filesystem and AWS S3 is easy
  • Data storage is abstract, implementing other backends than MySQL is easy

Total Downloads Latest Stable Version Latest Unstable Version License

Build Status Code Coverage

SensioLabsInsight Scrutinizer Code Quality

Usage

As CRUDlex is framework agnostic, it is not used directly. There are framework specific implementations available:

Head over to the documentation for setup instructions.

CRUDlex uses SemVer for versioning. Currently, the API changes quickly due to be < 1.0.0, so take care about notes in the changelog when upgrading.

Documentation

Upcoming development version:

Sample Project

For a complete example, checkout the sample project with the classic libraries and books:

Addons

There are several surrounding projects around CRUDlex:

  • CRUDlexUser: A library offering an user provider for symfony/security

Roadmap

The project roadmap is organized via milestones:

CRUDlex Milestones

Beware that not each new feature will get its own ticket there. Some are implemented on the fly when needed.

Each milestone is loosely organized as project in the columns "Backlog" (Todo), "Staging" (Being worked on (next)) and "Done" (done):

CRUDlex Milestone Projects

Older Versions Documentation

Manual

The manual is a reference describing every feature of CRUDlex:

API Documentation

The CRUDlex API itself is documented here:

Build Notes

How to generate the API documentation:

vendor/bin/sphpdox process CRUDlex src  

How to build the documentation:

# Install dependencies
pip install Sphinx
pip install tk.phpautodoc
pip install sphinx_tabs
# Generate:
cd docs
make html
Comments
  • Identifier

    Identifier "twig.loader.filesystem" does not contain an object definition.

    Hi! Fresh install with Silex-Skeleton, composer edited to require Doctrine DBAL and CRUDlex (which implies more recent versions of twig-bridge and translation):

    "require": {
            "php": ">=5.5.9",
            "silex/silex": "~2.0",
            "silex/web-profiler": "~2.0",
            "symfony/asset": "~2.8|3.0.*",
            "symfony/browser-kit": "~2.8|3.0.*",
            "symfony/class-loader": "~2.8|3.0.*",
            "symfony/config": "~2.8|3.0.*",
            "symfony/console": "~2.8|3.0.*",
            "symfony/css-selector": "~2.8|3.0.*",
            "symfony/debug": "~2.8|3.0.*",
            "symfony/finder": "~2.8|3.0.*",
            "symfony/form": "~2.8|3.0.*",
            "symfony/monolog-bridge": "~2.8|3.0.*",
            "symfony/process": "~2.8|3.0.*",
            "symfony/security": "~2.8|3.0.*",
            "symfony/translation": "3.1.*",
            "symfony/twig-bridge": "~3.1",
            "symfony/validator": "~2.8|3.0.*",
            "doctrine/dbal": "~2.2"
        },
    

    Doctrine and Web Profiler working fine.

    Adding CRUDlex:

            "philiplb/crudlex": "0.10.x-dev"
    

    Instanciating the MySQLDataFactory, ServiceProvider: OK

    Mounting the ControllerProvider results in this error:

    InvalidArgumentException in Container.php line 233:
    Identifier "twig.loader.filesystem" does not contain an object definition.
    

    I've tried to tweak the Twig instanciation, with no result. However when I comment the Web Profiler instanciation:

    $app->register(new WebProfilerServiceProvider(), array(
        'profiler.cache_dir' => __DIR__.'/../var/cache/profiler',
    ));
    

    Then the error disappears and I can use CRUDlex.

    So, it looks like issue #41 is back with the latest version.

    Any idea?

    opened by germain-italic 16
  • Group entities in the navigation Bar

    Group entities in the navigation Bar

    Hi

    The idea is to allow to group multiple entities into one option of the menu, this is helpful when there are too many entities or want to group based on relation. There is a example of the result:

    navbargroup example
    opened by dmaciel 10
  • Remove filters and listfields from description example

    Remove filters and listfields from description example

    In the description feature example (first feature explained in Extended Features) are also other features that are explained later. At first sight is confusing to concentrate in the new feature example because the other two are above the new one, so it forces to read again the text.

    opened by dmaciel 9
  • 0.9.9 broken with silex/web-profiler ^1.0

    0.9.9 broken with silex/web-profiler ^1.0

    First of all your congratulations for putting up CRUDlex!

    CRUDlexSample deploys v.0.9.7 of ou the box. Adding Web Profiler works well also:

        "require": {
            "philiplb/crudlex": "0.9.7",
            "silex/web-profiler": "^1.0"
        }
    

    Unfortunately upgrading to v0.9.9 conflicts with the Web Profiler:

    Twig_Error_Syntax in ExpressionParser.php line 604:
    Unknown "trans" filter in "@crud/list.twig" at line 22.
    

    Downgrade to v0.9.8:

    Twig_Error_Syntax in ExpressionParser.php line 604:
    Unknown "trans" filter in "@crud/list.twig" at line 14.
    

    Removing silex/web-profiler (v1.0.8) restores CRUDlex v0.9.8 - v0.9.9

    Any hints?

    opened by germain-italic 9
  • Failed MimeType for stylesheets and JS since 0.12.0 ver.

    Failed MimeType for stylesheets and JS since 0.12.0 ver.

    Since CRUDlex version 0.12.0 all static files (css,js,...) - get mimetype "text/plain" and GoogleChrome/Firefox show warnings in console. Apache mimetypes - is ok, PHP fileinfo extension - installed. Screenshot ver. 0.12.0 Screenshot ver. 0.11.0 How can I resolve this bug to use CRUDlex with valid CSS and JS? Thank you very much! P.S. Sorry for my english)

    opened by stingmu 8
  • Exception InvalidArgumentException : Identifier

    Exception InvalidArgumentException : Identifier "twig.loader.filesystem" does not contain an object definition.

    Hi, I wanted to try CRUDlex, installed it, made the params in app.php.

    When I add the line $app->mount('/crud', new CRUDlex\ControllerProvider()); is raises the exception

    I tried with CRUDlex 0.11 and 0.12, I made my projet up to date and maybe CRUDlex is not compatible with Symfony 3. Here is my composer.json for information

    { "name": "fabpot/silex-skeleton", "description": "A pre-configured skeleton for the Silex microframework", "license": "MIT", "type": "project", "require": { "php": ">=5.5.9", "silex/silex": "~2.0", "silex/web-profiler": "~2.0", "symfony/asset": "~2.8|^3.0", "symfony/browser-kit": "~2.8|^3.0", "symfony/class-loader": "~2.8|^3.0", "symfony/config": "~2.8|^3.0", "symfony/console": "~2.8|^3.0", "symfony/css-selector": "~2.8|^3.0", "symfony/security-csrf": "^3.2", "symfony/dom-crawler": "~2.3", "symfony/debug": "~2.8|^3.0", "symfony/filesystem": "~2.3", "symfony/finder": "~2.8|^3.0", "symfony/form": "~2.8|^3.0", "symfony/monolog-bridge": "~2.8|^3.0", "symfony/process": "~2.8|^3.0", "symfony/security": "~2.8|^3.0", "symfony/serializer": "~2.3", "symfony/translation": "~2.8|^3.0", "symfony/twig-bridge": "~2.8|^3.0", "symfony/validator": "~2.8|^3.0", "doctrine/dbal": "~2.2", "swiftmailer/swiftmailer": "5.*", "twig/extensions": "^1.2", "symfony/http-kernel": "^3.3", "philiplb/crudlex": "0.12.x-dev" }, "autoload": { "psr-0": { "": "src/", "MyProject": "src/" } }, "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } } } Thanks for the help

    opened by ghost 7
  • Add attribute hideId for type=reference|many

    Add attribute hideId for type=reference|many

    On a project that I worked on with my co-workers it made sense to display a reference or list of many references as tags

    This PR add an option to crud.yml that backports this change

    Normal behavior:

    image

    With hideId: true

    image

    opened by jmfayard 5
  • Array to String error when filtering by reference type and navigating to next page

    Array to String error when filtering by reference type and navigating to next page

    Let's say I have a table produit and one field in the table is a reference to another table client.

    On the productList page, I filter by the client_id field. The result gives me 2 pages. If I navigate to the page 2, the error occurs.

    This the DBALException message:

    An exception occurred while executing 'SELECT COUNT(id) FROM `produit` `produit` WHERE (`id_client` = ?) AND (deleted_at IS NULL)' with params [{"id":<UUID>"}]:
    
    Notice: Array to string conversion
    

    The URL of the page: crud/produit?crudPage=1&crudSortField=created_at&crudSortAscending=true&crudFilterid_client%5Bid%5D=<UUID>

    opened by planeth44 4
  • Is it possible to chain middleware ?

    Is it possible to chain middleware ?

    As described in Silex documentation, there's a finish middleware that can execute tasks after the Response has been sent to the client. How could we do it for a particular route? Say for example: /crud/myTable/update/xxx

    opened by planeth44 4
  • pushEvents + database access

    pushEvents + database access

    This is somehow related to Issue #44.

    I would also like to fill a field in the database from inside a pushEvents.

    I have made some tests in a separate controller and succeeded to access the database by invoking $data = $app['crud']->getData($entity); and then using CRUDlex's setters.

    However when trying to do it from inside my pushEvents function, I can't access the $app object. Is there any recommended way to to use the API's functions inside a pushEvents callback?

    Sample code tryings and error:

    $xls2json = function(CRUDlex\CRUDEntity $entity) {
        global $app;
        $data = $app['crud']->getData($entity);
    ...
    $app['crud']->getData('imports')->pushEvent('after', 'create', $xls2json);
    

    or

    $xls2json = function(CRUDlex\CRUDEntity $entity) use ($app) {
        $data = $app['crud']->getData($entity);
    ...
    $app['crud']->getData('imports')->pushEvent('after', 'create', $xls2json);
    

    both lead to:

    ContextErrorException in CRUDServiceProvider.php line 289:
    Warning: array_key_exists(): The first argument should be either a string or an integer
    
    opened by germain-italic 4
  • Broken events

    Broken events

    Well, broken or I don't know how to use them. Test from a fresh project sample both in v0.9.9 and v0.9.x-dev, I added this on line 38:

    New syntax:

    $app['crud']->getData('library')->pushEvent('before', 'create', function(Entity $entity) {
        // Do something with the entity which is about to be saved.
        return true;
    });
    

    Generates:

    Catchable fatal error: Argument 1 passed to {closure}() must be an instance of Entity, instance of CRUDlex\Entity given, called in /CRUDlexSample-master/vendor/philiplb/crudlex/src/CRUDlex/Data.php on line 104 and defined in //CRUDlexSample-master/web/index.php on line 39
    

    Old syntax:

    $app['crud']->getData('library')->pushEvent('before', 'create', function(CRUDEntity $entity) {
        // Do something with the entity which is about to be saved.
        return true;
    });
    

    Generates:

    Catchable fatal error: Argument 1 passed to {closure}() must be an instance of CRUDEntity, instance of CRUDlex\Entity given, called in //CRUDlexSample-master/vendor/philiplb/crudlex/src/CRUDlex/Data.php on line 104 and defined in /CRUDlexSample-master/web/index.php on line 40
    
    opened by germain-italic 4
  • EntityDefinition@getField $default parameter should not be null

    EntityDefinition@getField $default parameter should not be null

    when you submit a form and fields are not required –if the type is text– the values are an empty string. the getField function replace these empty string value by a null value which breaks the SQL schema of NOT NULL if the definition is VARCHAR

    opened by planeth44 5
  • New Type: referenced

    New Type: referenced

    Allow an entity to be referenced by many others. The other way round of the reference type. It will use the same UI elements as a many-to-many relationship.

    opened by philiplb 0
Releases(0.14.0)
  • 0.14.0(Sep 7, 2018)

    • Added PHP 7.2 as test target
    • Attention: Dropped support for PHP <= 7.1
    • Attention: CRUDlex is now not anymore dependent on Silex as framework; the Silex implementation got split to https://github.com/philiplb/CRUDlexSilex2; a Symfony 4 implementation is done at https://github.com/philiplb/CRUDlexSymfony4Bundle
    • Attention: Splitted the class ControllerProvider into Controller and Silex\ControllerProvider with Controller being customizable and implementing the new ControllerInterface
    • Attention: Splitted the class ServiceProvider into Service and Silex\ServiceProvider
    • Attention: Changed the mechanism to define custom layouts and templates from Pimple keys like $app['crud.layout'] = 'myLayout.twig' to the Provider function $app['crud']->setTemplate('layout', 'myLayout.twig')
    • Attention: Changed the i18n management flag from the Pimple key "crud.manageI18n" to the Provider functions $app['crud']->isManageI18n() and $app['crud']->setManageI18n()
    • Attention: Moved the class "ServiceProvider" from the namespace "CRUDlex" to the namespace "CRUDlex\Silex"
    • Attention: Prefixed all Twig functions and filters with "crudlex_"
    • Replaced all Pimple calls to "app." in the templates with calls to the crud instance or new Twig functions
    • Updated dependencies:
      • "phpunit/phpunit": "~7.2"
      • "eloquent/phony": "~3.0"
      • "eloquent/phony-phpunit": "~4.0"
    Source code(tar.gz)
    Source code(zip)
  • 0.13.0(Feb 12, 2018)

    • The soft deletion is now optional (but switched on by default)
    • Fixed content type of static files by detecting the mimetype by their name
    Source code(tar.gz)
    Source code(zip)
  • 0.12.0(Aug 22, 2017)

    • Attention: Switched from the own abstraction "FileProcessorInterface" to the library Flysystem for file handling, API changes:
      • All implementations of the FileProcessorInterface are gone now
      • The class "MimeTypes" is gone now
      • DataFactoryInterface::createData now needs a League\Flysystem\FilesystemInterface as last parameter
      • The constructor of MySQLData now takes a FilesystemInterface instead of a FileProcessorInterface
      • ServiceProvider::init now takes only two parameters: $crudFileCachingDirectory, Container $app
      • AbstractData::shouldExecuteEvents is now public
      • AbstractData::createFiles, ::updateFiles, ::deleteFile, ::deleteFiles and ::renderFile are moved to an own class: FileHandler
    • Attention: Moved the event handling to an own class and so the API changed
    • Added a caching mechanism for the parsing of the CRUD YAML files
    • Added the possibility to group entities in the navigation bar, thanks to https://github.com/dmaciel
    • Added an optional hideId parameter for references and many relations so the id is hidden in the reference buttons, thanks to https://github.com/jmfayard
    • Optimistic locking can now be turned off per entity
    • Attention: Prefixed the name of the route for static assets from "static" to "crudStatic" just like the other routes
    • Added documentation about the routes added by ControllerProvider
    • Attention: Changed the following routes from "match" to just "get", so only HTTP GET is allowed on them:
      • crudList
      • crudShow
      • crudRenderFile
    • Added documentation about how to optimize serving the static content
    • Attention: Moved the events code up to the abstract data class which changed the signatures a bit
    • "before" "delete" Events of cascade deleted children are now properly taken into account
    • added @var annotations to class members for better IDE usage
    • switched code formatting from Javaish style to the PSR-2 standard
    • Updated dependencies:
      • "silex/silex": "~2.2"
      • "doctrine/dbal": "~2.5"
      • "symfony/twig-bridge": "~3.2"
      • "symfony/yaml": "~3.3"
      • "symfony/translation": "~3.3"
      • "symfony/intl": "~3.3"
      • "symfony/browser-kit": "~3.3"
      • "symfony/css-selector": "~3.3"
      • "eloquent/phony": "~1.0"
      • Quill Editor v1.3.1
      • flatpickr v3.0.7
    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Apr 1, 2017)

    • Added a french translation, thanks to, https://github.com/k20human
    • Added a new data type: WYSIWYM (What You See Is What You Mean), with a visual editor producing HTML
    • Added a "CRUD YAML Reference" chapter in the documentation
    • The referencing children list of an entity has now an "Create New" button, thanks to, https://github.com/k20human
    • The endpoint for static files now uses ETag caching speeding up the rendering of the UI
    • Fixed the initialization of the TwigServiceProvider using the Silex 2 API now
    • Attention: Removed the method AbstractData::fetchReferences and so simplified further implementations
    • Fixed the feature of prepopulated creation forms via GET parameter
    • Nicer visualization of boolean values using icons
    • Fixed the initialization of the TwigServiceProvider if it wasn't present yet
    • Fixed adding the YAML loader and languages to the translator by moving it to the boot phase of the service provider
    • Fixed a crash if a many field was a reserved MySQL word
    • Filters now only do a LIKE-comparison if the field is a text, multiline or fixed field, else they use strict equals
    • Restructured the i18n handling and initialization a bit so the 'crud' provider is properly lazily initialized and the YaML not parsed for routes outside CRUDlex
    • Nullable fields with empty form input are now properly stored as null
    • Removed dependencies:
      • Moment.js
    • Updated dependencies:
      • "eloquent/phony": "~0.14"
      • "symfony/browser-kit": "~3.2"
      • "symfony/css-selector": "~3.2"
      • "symfony/twig-bridge": "~3.2"
      • "symfony/yaml": "~3.2"
      • flatpickr 2.4.8
      • jQuery 3.2.1
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Sep 18, 2016)

    • Added a new data type implementing a many-to-many relationship: many
    • Switched to SemVer
    • Added validation of the entity definition YAML file
    • Replaced handwritten mocks with Phony
    • Moved the mime type reading into an own class
    • Added a meaningful exception if invalid field names are given in "fieldList" or "filter"
    • Attention: The minimum PHP version is now 5.5
    • Attention: Updated to Silex 2.0
    • Attention: Switched from PSR-0 to PSR-4
    • Attention: The field entity.field.reference.table is not needed anymore
    • Attention: Renamed entity definition YAML fields:
      • setitems -> items
      • filepath -> path
      • fixedvalue -> value
    • Attention: Moved the following functions from the ServiceProvider to Twig extensions:
      • arrayColumn -> Twig Filter arrayColumn
      • getLanguageName -> Twig Filter languageName
      • formatFloat -> Twig Filter float
      • basename -> basename
      • formatDate -> formatDate
      • formatDateTime -> formatDateTime
    • Attention: Replaced the following functions of the class EntityDefinition with getSubTypeField:
      • getReferenceNameField
      • getReferenceEntity
    • Attention: Replaced the following functions of the class EntityDefinition with getField:
      • getDescription
      • getFloatStep
      • getItems
      • getValue
      • getPath
      • isUnique
      • isRequired
    • Attention: Replaced the following functions of the class EntityDefinition with setField:
      • setDescription
      • setFloatStep
      • setItems
      • setValue
      • setPath
      • setUnique
      • setRequired
    • Switched to a flag-sprites.com generated css sprite for the language flags
    • Updated dependencies:
      • "silex/silex": "~2.0"
      • "symfony/twig-bridge": "~3.1"
      • "philiplb/valdi": "0.10.0"
      • "symfony/yaml": "~3.1"
      • "symfony/translation": "~3.1"
      • "symfony/intl": "~3.1"
      • "symfony/browser-kit": "~3.1"
      • "symfony/css-selector": "~3.1"
      • "eloquent/phony": "~0.13"
      • Bootstrap 3.3.7
    • Switched to the array shorthand
    • Correctly saving null if not required date time fields are not filled
    Source code(tar.gz)
    Source code(zip)
  • 0.9.10(Jul 19, 2016)

    • Attention: Removed the prefix "CRUD" from all classes as they live in their own namespace anyway
    • Attention: The data types "int" and "bool" got renamed to "integer" and "boolean"
    • Attention, API changes:
      • CRUDlex\Data -> CRUDlex\AbstractData
      • EntityDefinition::getInitialSortAscending() -> EntityDefinition::isInitialSortAscending()
      • ServiceProvider::getMangeI18N() -> ServiceProvider::isManagingI18n()
      • Show-Page: The id "crudEntityShowTable" is now a class
      • CRUDlex\EntityValidator changed its return structure to the one of Valdi: http://philiplb.github.io/Valdi/docs/html/0.9.0/manual/gettingstarted.html#validation
      • The date and datetime fields changed moved their classes to the input fields and changed their names to "crudDate" and "crudDateTime"
    • Attention: Fixed a security issue in the static file provider
    • Changed the entity validation to https://github.com/philiplb/Valdi
    • Changed the date and date time pickers to https://github.com/chmln/flatpickr
    • Replaced the markdown manual and the APIGen documentation with an unified Sphinx version
    • Added RTL support in the i18n system
    • Added file handling events
    • Made a base path configurable for the SimpleFilesystemFileProcessor
    • The ServiceProvider uses now static instantiation instead of calling his own class making it easier to override
    • Added some more IDs and classes in the HTML to be more tweakable
    • Fixed a crash if the table name of an entity is a MySQL keyword
    • Fixed a crash if the field name of an entity is a MySQL keyword
    • Fixed a crash if the sort field name of an entity is a MySQL keyword
    • Fixed a crash if non required reference fields where not given
    • Fixed a crash if referenced entities got soft deleted by a third party
    • Fixed the sort order being properly handled in the pagination buttons now
    • Fixed and refactored a lot of things revealed by static code analysis
    Source code(tar.gz)
    Source code(zip)
  • 0.9.9(Feb 11, 2016)

    • Attention: From now on, the created_at and updated_at timestamps are stored as UTC values in the MySQL data provider
    • The list views can be sorted now
    • Added optimistic locking for editing an entity
    • CRUDMySQLData now offers an option to use UUIDs as primary key instead of an auto incremented value
    • Added a function to the service provider to get the available locales
    • Added a function to the service provider to get the name of the language of a locale
    • Generating the language picker based on the available translation files instead of being hard coded
    • Fixed and refactored a lot of things revealed by static code analysis
    • Updated dependencies:
      • Symfony-Components to the current LTS version 2.8
      • "symfony/...": "~2.8" (current LTS version)
      • "phpunit/phpunit": "~4.8"
      • "satooshi/php-coveralls": "1.0.1"
      • "apigen/apigen": "4.1.2"
      • Eonasdan/bootstrap-datetimepicker V4.17.37
      • Bootstrap 3.3.6
      • moment.js 2.11.2
      • jQuery 2.2.0
    Source code(tar.gz)
    Source code(zip)
  • 0.9.8(Sep 28, 2015)

    • Added complete i18n support, initially with en, de and gr
    • Added events for reactions before or after creating, updating or deleting an entity
    • Added the possibility to override every single template
    • Initializing all needed providers in the CRUDServiceProvider if not done yet by the application
    • Made the nameField of a reference optional
    • Fixed a crash when choosing "created_at", "updated_at", "id", "deleted_at" or "version" as filter field
    • Some potential crashes in CRUDEntityDefinition fixed revealed by new unit tests
    • Fixed the display of very small float values which where converted to scientific notation
    Source code(tar.gz)
    Source code(zip)
:lipstick: Scalable and durable all-purpose data import library for publishing APIs and SDKs.

Porter Scalable and durable data imports for publishing and consuming APIs Porter is the all-purpose PHP data importer. She fetches data from anywhere

null 594 Jan 1, 2023
Library for (de-)serializing data of any complexity (supports JSON, and XML)

jms/serializer Introduction This library allows you to (de-)serialize data of any complexity. Currently, it supports XML and JSON. It also provides yo

Johannes 2.2k Jan 1, 2023
A repository with implementations of different data structures and algorithms using PHP

PHP Data Structures and Algorithms Data structure and Algorithm is always important for any programming language. PHP, being one of the most popular l

Mizanur Rahman 610 Jan 2, 2023
Leetcode for PHP, five questions a week and weekends are updated irregularly

✏️ Leetcode for PHP why do you have to sleep for a long time ,and naturally sleep after death 联系 说明 由于目前工作主要是 golang,我又新起了一个LeetCode-Go-Week项目,- Leetc

吴亲库里 370 Dec 29, 2022
True asynchronous PHP I/O and HTTP without frameworks, extensions, or annoying code. Uses the accepted Fibers RFC to be implemented into PHP 8.1

PHP Fibers - Async Examples Without External Dependencies True asynchronous PHP I/O and HTTP without frameworks, extensions, or annoying code behemoth

Cole Green 121 Jan 6, 2023
World countries in JSON, CSV, XML and Yaml. Any help is welcome!

World countries in JSON, CSV, XML and YAML. Countries data This repository contains a list of world countries, as defined by ISO Standard 3166-1, in J

Mohammed Le Doze 5.6k Jan 3, 2023
Silex Skeleton - a fully-functional Silex application that you can use as the skeleton for your new applications

Silex Skeleton - a fully-functional Silex application that you can use as the skeleton for your new applications

Silex 789 Dec 5, 2022
Use auto generated UUID slugs to identify and retrieve your Eloquent models.

Laravel Eloquent UUID slug Summary About Features Requirements Installation Examples Compatibility table Alternatives Tests About By default, when get

Khalyomede 25 Dec 14, 2022
Laravel CRUD Generator This Generator package provides various generators like CRUD, API, Controller, Model, Migration, View for your painless development of your applications.

Laravel CRUD Generator This Generator package provides various generators like CRUD, API, Controller, Model, Migration, View for your painless develop

AppzCoder 1.3k Jan 2, 2023
Auto-generated Interface and Repository file via Repository pattern in Laravel

Auto-generated Repository Pattern in Laravel A repository is a separation between a domain and a persistent layer. The repository provides a collectio

Ngo Dinh Cuong 11 Aug 15, 2022
LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like Advanced CRUD Generation, Module Manager, Backups and many more.

LaraAdmin 1.0 LaraAdmin is a Open source CRM for quick-start Admin based applications with features like Advanced CRUD Generation, Schema Manager and

Dwij IT Solutions 1.5k Dec 29, 2022
Plugin for WordPress Full Site Editing That Sets Smart CSS defaults & Removes Auto generated classes.

WazFrame Enhanced This plugin removes autogenerated classes from WordPress that comes from theme layout support for contentSize and wideSize in theme.

Frank Wazeter 4 Feb 15, 2022
Until 2018, Backpack v3 used this Base package to offer admin authentication and a blank admin panel using AdminLTE. Backpack v4 no longer uses this package, they're now built-in - use Backpack/CRUD instead.

Note: This package is only used by Backpack v3. Starting with Backpack v4, everything this package does is included in Backpack/CRUD - one package to

Backpack for Laravel 845 Nov 29, 2022
Bolt is a simple CMS written in PHP. It is based on Silex and Symfony components, uses Twig and either SQLite, MySQL or PostgreSQL.

⚠️ Note - Not the latest version This is the repository for Bolt 3. Please know that Bolt 5 has been released. If you are starting a new project, plea

Bolt 4.1k Dec 27, 2022
Converts a string to a slug. Includes integrations for Symfony, Silex, Laravel, Zend Framework 2, Twig, Nette and Latte.

cocur/slugify Converts a string into a slug. Developed by Florian Eckerstorfer in Vienna, Europe with the help of many great contributors. Features Re

Cocur 2.8k Dec 22, 2022
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

Tobias Reich 6.2k Jan 5, 2023
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

Tobias Reich 6.2k Dec 31, 2022
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee Organisation 2.3k Jan 1, 2023
instagrambot ,it’s a console-based script created for autovoting (auto poll voting) and auto looking stories

instagrambot instagram bot for auto story view <3 instagrambot ,it’s a console-based script created for autovoting (auto poll voting) and auto looking

offasapalvin 1 Jan 19, 2022