{"id":18750652,"url":"https://github.com/webiny/framework","last_synced_at":"2025-07-24T22:04:12.736Z","repository":{"id":20947940,"uuid":"24236409","full_name":"webiny/Framework","owner":"webiny","description":"[NOT MAINTAINED] A full-featured PHP framework powering the server side of Webiny Platform. Can also be used as standalone library.","archived":false,"fork":false,"pushed_at":"2017-11-26T21:24:00.000Z","size":1768,"stargazers_count":105,"open_issues_count":0,"forks_count":12,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-12-19T03:09:56.068Z","etag":null,"topics":["bootstrap","cache","framework","mongodb","php","php7","rest-api"],"latest_commit_sha":null,"homepage":"http://www.webiny.com/","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webiny.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-19T16:08:10.000Z","updated_at":"2024-12-12T14:22:08.000Z","dependencies_parsed_at":"2022-08-24T14:09:32.943Z","dependency_job_id":null,"html_url":"https://github.com/webiny/Framework","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webiny%2FFramework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webiny%2FFramework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webiny%2FFramework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webiny%2FFramework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webiny","download_url":"https://codeload.github.com/webiny/Framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231468021,"owners_count":18381174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","cache","framework","mongodb","php","php7","rest-api"],"created_at":"2024-11-07T17:12:42.020Z","updated_at":"2024-12-27T10:07:41.539Z","avatar_url":"https://github.com/webiny.png","language":"PHP","readme":"Webiny Framework\n================\n\nThis is a set of components for building PHP applications. Each of the component has its own documentation with usage examples and examples of configuration.\n\nInstall the framework\n---------------------\nThe best way to install the framework is using Composer.\n\n```bash\ncomposer require webiny/framework\n```\nFor additional versions of the package, visit the [Packagist page](https://packagist.org/packages/webiny/framework).\n\n## Requirements\n\nWebiny Framework requires PHP 7.0 or later.\n\n## Feedback\n\nWe do love feedback, it doesn't matter if it's positive or not, any feedback is much appreciated.\nSo if you have something to tell us, please email us at **info{at}webiny.com**.\n\n## Licence\n\nWebiny Framework is released under MIT license.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n \n## Some notes on coding:\n- before writing any code, make sure you have read PSR-1 coding standard (http://www.php-fig.org/psr/psr-1/)\n- each package should have its own exception handler\n- prefer the usage of 'use' keyword instead of writing the full class name with namespace\n\n### Git \u0026 IDE Configuration\n**Line endings**\nPHPStorm \u003e File \u003e Line Separators \u003e LF\nPHPStorm \u003e Preferences \u003e Code Style \u003e General \u003e line separator (for new files) \u003e Unix\n\n**Git**\nExecute in terminal:\ngit config --global core.autocrlf input\n\n## Bridges and Components\n\n### Bridges\n\nWebiny Framework is written in a way that it maximally re-uses other open-source components, so that we don't write the same code over and over again. But in order to make some certain compatibility layer between our components and 3rd party libraries, we introduced **Bridges**. If a component uses a 3rd party library, it is used over a bridge, where we implement an interface, so if we wish to change the external library, we would just create a new bridge, without the need to refactor the component itself.\n\n### Components\n\nThis is the list of currently available components:\n- [Amazon](src/Webiny/Component/Amazon)\n    - currently supports implementation of Amazon S3\n- [Annotations](src/Webiny/Component/Annotations)\n    - component for parsing annotations from a `class`, `method` or a `property`\n- [Bootstrap](src/Webiny/Component/Bootstrap)\n    - MVC bootstrap component\n- [Cache](src/Webiny/Component/Cache)\n    - provides several caching libraries like Apc, Couchbase, Memcache and Redis\n- [ClassLoader](src/Webiny/Component/ClassLoader)\n    - a PSR-0, PSR-4 and PEAR class loader\n- [Config](src/Webiny/Component/Config)\n    - a very handy library for parsing YAML, INI, JSON and PHP configuration files\n- [Crypt](src/Webiny/Component/Crypt)\n    - library for encoding, decoding and validating hashes\n- [Entity](src/Webiny/Component/Entity)\n    - MongoDb ODM layer\n- [EventManager](src/Webiny/Component/EventManager)\n    - want to do event-based development, this is a library for you\n- [Http](src/Webiny/Component/Http)\n    - library for parsing all data from an HTTP request\n    - will soon also support building an HTTP response\n- [Image](src/Webiny/Component/Image)\n    - library for image manipulation\n- [Logger](src/Webiny/Component/Logger)\n    - a component for handling logging during code execution\n- [Mailer](src/Webiny/Component/Mailer)\n    - component for sending emails\n- [Mongo](src/Webiny/Component/Mongo)\n    - MongoDB class wrapper\n- [OAuth2](src/Webiny/Component/OAuth2)\n    - library for working with OAuth2, currently supports Facebook, LinkedIn and Google+\n- [REST](src/Webiny/Component/Rest)\n    - fully featured REST library with caching, security and rate control\n- [Router](src/Webiny/Component/Router)\n    - handles defining, parsing, creating and matching url routes\n- [Security](src/Webiny/Component/Security)\n    - provides authorization and authentication layer\n    - supports Http, Web form, Twitter and OAuth2 authentication\n- [ServiceManager](src/Webiny/Component/ServiceManager)\n    - want to write truly service based, loosely-coupled code, this library provides that\n- [StdLib](src/Webiny/Component/StdLib)\n    - tired of constantly mixing legacy PHP functions and objective code\n    - this component provides objective wrappers for Arrays, Strings, Urls, Files, and DateTime types\n- [Storage](src/Webiny/Component/Storage)\n    - storage abstraction layer that simplifies the way you work with files and directories\n    - supports local file system and Amazon S3\n- [TemplateEngine](src/Webiny/Component/TemplateEngine)\n    - provides a layer for rendering view templates and defining template plugins and manipulators\n- [TwitterOAuth](src/Webiny/Component/TwitterOAuth)\n    - library for working with Twitter API using Twitter OAuth\n\n## Unit testing\nAll of the components feature unit tests, but some cover more code, while others cover only a small portion. We intend to change that over time and to have as much as possible of our code covered by unit tests.\n\nTo run the unit tests, you need to use the following command:\n\n    $ cd path/to/vendor/webiny/framework/\n    $ composer.phar install\n    $ phpunit\n\nNote that some components like, `Cache`, `Mailer` and `Storage` might require that you update their test configuration\nbefore running the unit tests. Checkout the component readme file for more information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebiny%2Fframework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebiny%2Fframework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebiny%2Fframework/lists"}