Giter VIP home page Giter VIP logo

pimf-framework's People

Contributors

garrettw avatar gjerokrsteski avatar scrutinizer-auto-fixer avatar spresnac avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pimf-framework's Issues

Incoherent API in cache storage engines

Among the cache storage engines, if a given $key does not exist, retrieve() returns different values depending on the storage engine. Some of them return true, some false, and some null.

Which return value should we standardize on? I noticed that many of the core PHP functions called by those classes return false on failure, so should we use that too?

Roadmap

I noticed you have a closed milestone that talks about dependency injection. It's a good idea, so do you still want to go that direction? I would be happy to help implement it.

Also, what is the best way for us to discuss development of this project? We can talk in this thread, or whatever works for you. If you want, you can set up a free chat room for this repo on Gitter.im -- it's a nice service, and it wouldn't clutter up the Issues tab.

Increase OOP, reduce hard coupling, improve internal APIs, etc.

This issue is mainly to track development on these topics. I'll be tagging this issue in my commit messages.

Classes to be converted from static to OO:

  • Pimf\Application
  • Pimf\Config
  • Pimf\Param
  • Pimf\Util\Header\ResponseStatus
  • Pimf\Util\Header
  • Pimf\Logger

Classes that need hard class references to be replaced with dependency injection:

  • Pimf\Application
  • Pimf\Environment

Internal APIs that need improvement:

  • Pimf\Cache::factory() and Pimf\Session::factory() -- would like to get rid of the switch statements by unifying the signatures of each storage type constructor as much as possible

Methods with too many params:

  • Pimf\Error::native()
  • Pimf\Controller\Base::__construct()
  • Pimf\Cookie::put()
  • Pimf\Cookie::forever()
  • Pimf\Request::__construct()
  • Pimf\Util\Uploaded::__construct()

Reduce complexity:

  • Pimf\Application::run()
  • Pimf\Logger
  • Pimf\Util\Validator
    • has duplicate code in lengthBetween() and valueBetween()
  • Pimf\Controller\Core::initCliAction()

Remove usage of exit/die:

  • Pimf\Application lines 102 and 261
  • Pimf\Error line 38
  • Pimf\Response line 144
  • Pimf\Util\Header lines 69, 83, 97, 103, 134, 233

Consider better names for functions:

  • Pimf\Session\Storages\Storage::id() -> newId()
  • Pimf\Uri::is() -> matches()
  • Pimf\Url::to() -> make()
  • Pimf\Url::toAsset() -> makeForAsset()
  • Pimf\Util\Character::is() -> matches()
  • Pimf\Logger::init() -> checkInit()
  • Pimf\Util\Validator::ip()

Improve adherence to ADR pattern in:

  • Pimf\View
  • Pimf\Controller\Base

URL Schema

Is the URL Schema (index.php?controller=x&action=y) fixed or is there a more readable option avail like /blog/entry/1 ?

PHP7 exception error?

Downloaded pimf-vanilla with pimf, configured apache to work with it and got this error:

"Uncaught TypeError: Argument 1 passed to Pimf\Error::exception() must be an instance of Exception, instance of TypeError given, called in ...\pimf-framework\core\Pimf\Application.php on line 143"

php 7.0.6

Can this be a php7 error (most google results point to this).
Please examine this problem, tnx

develop branch updates

Hello,
I would like to update Pimf to make it support subdirectory installations.

According to the contributions guidlines , I should base the new fork on the develop branch.
However,the last time the develop branch has been updated was almost 2 years ago,while master was updated on july 8th.

which branch should the PR be based on?
Thanks

Is PHP 5.3 support still needed?

As I am interested in developing this framework, I would like to incorporate modern features of the PHP language into the code base. However, if PHP 5.3 compatibility is still needed, that would not be possible.

So, would it be ok to move to a newer minimum version of PHP as I work on this project? Currently even PHP 5.5 is obsolete, so 5.3 is positively ancient.

I would propose to move to either 5.5 or 5.6.

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.