{"id":15025935,"url":"https://github.com/tommy131/owoframe","last_synced_at":"2025-03-15T21:09:04.269Z","repository":{"id":43837448,"uuid":"280917953","full_name":"Tommy131/OwOFrame","owner":"Tommy131","description":"A lightweight MVC framework for PHP","archived":false,"fork":false,"pushed_at":"2024-09-04T21:18:53.000Z","size":1693,"stargazers_count":64,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-28T11:42:03.140Z","etag":null,"topics":["mvc","owoblog","php-framework","php-web-apps","php7","php72","php73","php74","website"],"latest_commit_sha":null,"homepage":"https://www.owoblog.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tommy131.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-19T17:38:50.000Z","updated_at":"2024-09-04T21:18:57.000Z","dependencies_parsed_at":"2024-12-18T06:47:06.355Z","dependency_job_id":null,"html_url":"https://github.com/Tommy131/OwOFrame","commit_stats":{"total_commits":342,"total_committers":1,"mean_commits":342.0,"dds":0.0,"last_synced_commit":"8160d44f95d243ad67afff4a2a576c0715ecbed3"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tommy131%2FOwOFrame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tommy131%2FOwOFrame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tommy131%2FOwOFrame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tommy131%2FOwOFrame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tommy131","download_url":"https://codeload.github.com/Tommy131/OwOFrame/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243790998,"owners_count":20348385,"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":["mvc","owoblog","php-framework","php-web-apps","php7","php72","php73","php74","website"],"created_at":"2024-09-24T20:03:20.649Z","updated_at":"2025-03-15T21:09:04.221Z","avatar_url":"https://github.com/Tommy131.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OwOFrame\n\n![CodeFactor](https://www.codefactor.io/repository/github/tommy131/owoframe/badge) ![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg) [Learn More](https://opensource.org/licenses/Apache-2.0)\n\nOwO! `OwOFrame` is developed based on the `MVC (Model-Views-Controller)` model. The standard of the framework is drawn from the current popular PHP-MVC framework to a certain extent. This project is only my personal practice project.\n\nIf you think this repository is helpful to you, please give this repository a `Star` QWQ\n\nDonation: \u003chttps://owoblog.com/donation/\u003e\n\n[中文版简介请点这里](README_CHS.md)\n\n## What can I do?\n\nOwOFrame is a small framework that I developed using my free time. Of course, there are many shortcomings. The functions currently supported by this framework are listed below:\n\n### Basic System Components\n\n- [x] `!!!IDE Friendly!!!`  All comments display nicely in `Visual Studio Code`\n- [x] `Application`         This framework is a multi-application coexistence framework, and the current application is identified by `HTTP_URI`\n- [x] `Console`             Support some operations in the terminal through `CommandLine`\n- [x] `Config`              Configuration file parsing class\n- [x] `EventManager`        Event Manager (hook method)\n- [x] `Exception`           Error and exception capture and Stack output\n- [x] `ModuleLoader`        Module loader (Application independent and flexible management, in global mode)\n- [x] `Language`            ~~Custom language pack support~~ (rewriting)\n- [x] `Logger`              Support the most basic logging\n- [x] `Redis`               ~~Support basic Redis operations~~ (rewriting)\n- [x] `Route`               Route analysis/management (personalized route binding settings)\n- [x] `Template`            Back-end rendering template (basic functions have been completed, and advanced functions have been developed quickly o(*￣▽￣*)o)\n- [x] `TextColorOutput`     Support ANSI control code output color in CMD \u0026 Shell\n- [x] `WMI`                 WMI operation class written for Windows system\n- [x] `Cookie`              A common cookie processing class\n- [x] `Session`             A common Session processing class\n- [x] `EmptyAppGenerator`   One-click generation of new application templates\n- [x] `FileUploader`        File upload class support\n- [x] `systemFunctions`     A file function that integrates the bottom layer of the system (see the source code for details)\n- [x] `httpFunctions`       A file function that integrates the bottom layer of HTTP (see the source code for details)\n\n### Third Party Resources\n\n- [x] [`PasswordHash`](http://www.openwall.com/phpass/)\n- [x] [`Think-ORM`](https://github.com/top-think/think-orm)\n\n## How to use?\n\n### §1 Installation\n\n- First way can use command `git clone https://github.com/Tommy131/OwOFrame.git` to clone the repository from Github to location.  \n- Or you can use the second way with command `composer create-project tommy131/owoframe -s dev` to create the repository to location.\n\n### §2 Next Step\n\nAfter open `CMD` in Windows or `Shell` in Linux, use command `cd owoframe \u0026\u0026 composer install` to change work path on owoframe.  \nIf you used composer to install this repository, you may not to run the command from the top.\n\n## Do I need modify my Web configuration (e.g. for Nginx) ?\n\nYes. The step(s) please see the below:\n\n``` nginx\n# Set your web root path to /public (Example);\nroot /www/owoframe/public;\n\nlocation / {\n    index index.php index.html;\n    try_files $uri $uri/ /index.php$is_args$query_string;\n}\n```\n\n## How to running my Application in CLI-Mode with OwOFrame?\n\nIn the OwOFrame, I built the Command Manager. You can customize the registration management of the implementation Commands, and you can also modify the entry file in the CLI-Mode to touch your project requirements. The basically usage will be called in the root path like `owo [command]`.  \n\u003e Note: The premise of using the `owo` command directly is that the root directory path of the current project folder has been set in the system's global environment ($PATH) variables.\n\n![Show](.repo-data/Linux_owo_command.png)\n\n## Statement\n\n\u0026copy; 2016-2023 [`OwOBlog-DGMT`](https://www.owoblog.com). Please comply with the open source license of this project for modification, derivative or commercial use of this project.  \nMy Contacts:\n\n- Website: [`HanskiJay`](https://www.owoblog.com)\n- Telegram: [`HanskiJay`](https://t.me/HanskiJay)\n- E-Mail: [`HanskiJay`](mailto:support@owoblog.com)\n\n## Stargazers over time\n\n[![Stargazers over time](https://starchart.cc/Tommy131/OwOFrame.svg)](https://starchart.cc/Tommy131/OwOFrame)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftommy131%2Fowoframe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftommy131%2Fowoframe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftommy131%2Fowoframe/lists"}