GithubHelp home page GithubHelp logo

sylynder / webby Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 0.0 1.11 MB

A lego-like PHP Framework extended from CodeIgniter3 Framework for easy web application development

Home Page: https://webby.sylynder.com

License: MIT License

PHP 99.15% HTML 0.85%
webby codeigniter-library sylynder hmvc hmvc-framework php php-framework

webby's Introduction

Webby

MIT License Lines of code GitHub code size in bytes Packagist Version Packagist Downloads (custom server)

About Webby

Webby aims to be a "lego-like" PHP framework that allows you to build APIs, Console/Cli and Web Applications in a modular architecture, that can also integrate other features from existing PHP frameworks or other PHP packages with ease.

It is an extension of the CodeIgniter 3 framework for easy web application development with an easy developer experience (DX) for beginners.

Build Awesome PHP applications with a "Simple(Sweet) Application Architecture".

Features

  • Easy and Improved Routing
  • HMVC First Architecture
  • Application can be APIs, Console or Web Based
  • Easy to integrate with Other Frameworks
  • Extend with Packages
  • Use "Plates" a blade-like templating engine for your views
  • Use "Services" to seperate business logic from Controllers
  • Use "Actions" instead of "Services" for CRUD functionalities or business logic
  • Use "Forms Or Rules" to validate input requests
  • A near "Service discovery" feature included
  • Use any database abstraction or library you want as a model

Authors

Installation

The recommended way to install Webby is through Composer. Are you New to Composer? click on the link.

This will install the latest PHP supported version:

$ composer create-project sylynder/webby <project-name>

Make sure to replace project-name with the name of your project

Documentation

The main documentation of Webby can be found here: Webby Docs

The documentation is currently been updated constantly. It will take time to cover all aspects of the framework but we are working around the clock to make this possible.

Currently we have planned to use the blogs section to guide developers through their journey in learning the framework.

If you have been developing with CodeIgniter 3 already and you are familiar with the HMVC approach you can still use the same knowlegde to get going.

For developers who are very familiar with the CodeIgniter 3 framework can still refer to the documentation here: CI3 Docs

The concept of CodeIgniter 4 has not been so clear and rewriting CodeIgniter 3 has set the framework back in so many ways, this is a way to show that Codeigniter could have been improved gradually without the approach the Core Team used.

Server Requirements

PHP version 8.0 or newer is recommended.

PHP 8.1 was released in November 2021 and so most of it's functionalities were not known to be supported yet, this delayed the development of this project to work perfectly with the latest version 8.1 of PHP and the framework, we advise to stay between versions 7.4 and 8.0 for stable PHP appplication development.

If you want to discover bugs and contribute, then you are welcome to use the PHP 8.1 version.

Currently it supports 8.1 but no issues have come up yet. All issues can be discussed and it will be addressed. PHP 8.2 is here since December 2022. We will be looking forward to related issues too to resolve. Currently some issues have already been fixed.

Quick FAQs

Why did you decide to create Webby


  • Webby was created with PHP beginners in mind, to simplify how web applications can be built (with PHP) without complex concepts and functionalities
  • Looking at how other (PHP) frameworks makes it difficult for beginners to start, we are making the approach different.
  • Also CodeIgniter 3 was not been updated for sometime and new PHP versions were not working until they updated to the recent version (3.1.13).
  • I used it as an opportunity to learn and understand more about Software Architecture and creating Software Paradigms.

Is it anything different from CodeIgniter 3 or 4?


It uses the Core of the CodeIgniter 3 framework and borrows some new features added from CodeIgniter 4. It is designed to move developers who are familiar with CI3 to easily adapt to CI4 with a little similar syntax or concept.

Important Links

The links below will guide you to know more about how Webby Works

What's Next

There are lots of future plans for Webby

  • Enable and Test for PHP 8.1 compatibility
  • Improve and simplify CI3's database migrations
  • Enable module based packages to use composer packages
  • Enable easy engine folder upgrade (Currently folder will have to be replaced when an update is available) (Done on 30th October 2022 18:22 PM)
  • Move sylynder/codeigniter repo to sylynder/engine repo (Done on 31st December 2022 15:08 PM)
  • Create a compatible HTTP and Routing feature (may be PSR-7 compatible) that enables general integration with other frameworks
  • Improve and optimize speed
  • Improve on cli or console feature
  • Integrate asynchronous features (may be fibers) [as a package]
  • And many more to add (and many more to learn)
  • Write version three (v3) with a few major class api change but try to not make heavy breaking changes so as to reduce future upgrade headache. Unlike other major PHP Frameworks

Used By

This project is used by the following companies:

  • Seguah Dreams
  • Glomot Company
  • Wigal Vision

Credits

License

We are using the MIT License (MIT). Please see our LICENSE.md file. If you want to know more about the license go to LICENSE for more information.

webby's People

Contributors

otengkwame avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

webby's Issues

Suggest a Console Library to be used

There are lots of libraries can help in creating a better cli application.

We can list most used ones and select a few and finally settle on one to use.

List below:
Symfony Console
Minicli
...

PHP 8 compatibility

Is Webby compatible with PHP 8, if it is how sure I am. I haven't really tested it to the fullest for it's compatibility because the whole engine relies on CodeIgniter3 Core.

Webby still has codeigniter views in there

Since Webby is not trying to be different from what it is built on (CodeIgniter3), I can't say I will leave it to still resemble it's look and feel.

A need to get a simple new views for both error pages and introductory page is necessary.

A basic CLI feature

There is a basic CLI feature that allows you to serve a application.

Currently it uses basic PHP implementations

Intelliphense underlines most helper functions

Intelliphense keeps underlining most helper functions and this is due to bad programming from my side. I use to leave the return types in the doc blocks as void and this has caused that. I will have to revisit all functions and give the correct return types

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.