Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 14 14:00

    gjerokrsteski on master

    Update issue templates (compare)

  • Jul 04 2018 12:49

    gjerokrsteski on master

    run ci pipeline including PHP v… (compare)

  • Jul 02 2018 07:10

    gjerokrsteski on master

    use colors while running tests (compare)

  • Nov 09 2017 18:56

    gjerokrsteski on master

    Create ISSUE_TEMPLATE.md (compare)

  • Sep 13 2017 06:45

    gjerokrsteski on master

    move Scrutinizer Quality Score … (compare)

  • Sep 13 2017 06:43

    gjerokrsteski on master

    pin a Dependency Status bdage (compare)

  • Sep 12 2017 12:18

    gjerokrsteski on master

    use php as keyword for composer… (compare)

  • Sep 11 2017 20:00

    gjerokrsteski on master

    change version to 1.11.0 (compare)

  • Sep 11 2017 19:58
    Travis gjerokrsteski/pimf-framework (v1.11.0) passed (708)
  • Sep 11 2017 19:55

    gjerokrsteski on v1.11.0

    (compare)

  • Sep 11 2017 19:48
  • Sep 11 2017 19:44
    gjerokrsteski closed #31
  • Sep 11 2017 19:44

    gjerokrsteski on master

    Fix & update travis config (#31… (compare)

  • Sep 11 2017 19:44
    gjerokrsteski closed #30
  • Sep 11 2017 19:44

    gjerokrsteski on master

    allowed Transphporm to accept r… (compare)

  • Aug 10 2017 17:21
    garrettw edited #31
  • Aug 10 2017 17:11
    garrettw synchronize #31
  • Aug 10 2017 16:06
    garrettw synchronize #31
  • Aug 10 2017 15:59
    garrettw synchronize #31
  • Aug 09 2017 22:33
    garrettw edited #31
Gjero Krsteski
@gjerokrsteski

Define Roadmap for PIMF v2.0.0

Hello folks,

Garret asked me to create this chat in order to be able to create the roadmap for PIMF v2.0.0

From the beginning, there some features where we intentionally do not want to implement in PIMF, like:

  • Queues & Tasks (better use Beanstalkd or Gearman)
  • Mailer (please take a look at GitHub.com)
  • ORM (heads over Doctrine, RedBeanPHP or Propel)
  • Form Builder (come on, do we really need it?)
  • Authentication, ACL (better find one at PEAR, GitHub or Composer)
  • T9N, L10N, I18N, Math, RSS and much more (please search at internet, there are a tons of proven extensions and libraries)
  • Dependency Injection Containers (nice OOP pattern, but in most cases complex and will push PIMF to full-stack framework)

Reason for that decision is, that we want still stay focused to keep PIMF being a micro framework, and there are features that do not have to be reinvented.

Anyway, I hope you are not scared of that :-)

Now I will present you some possible features for PIMF v.20.0:

  • Incorporate modern features of the PHP language into the code base (Garret)
  • Check if composer autoloader is available and implement it by bootstrapping
  • Correction of spelling and grammar on the book-manuscript
  • Correction of spelling and grammar on all PIMF quick-start bundles
  • Test and fix all quick-start bundles with PIMF v2.0.0

From my side that's about enough for v2.0.0

If you have any other ideas for features or improvements, then please write them here ... and we will try to prioritize as good as possible.

Thanks a lot, I look forward to your feedback :-)

..
Garrett W.
@garrettw

I am about to start working on my own full-stack framework, but as a micro framework I think PIMF has promise. If we can keep it running fast while improving the code structure, version 2 will be great.

I like the idea of using a DIC, but I can understand why you think it's not a good fit. Can you tell me what DIC packages you like? That may help me understand how it would complicate things.

Even if we do not use a DIC, I think there is still probably room for improvement in the OOP area.
Gjero Krsteski
@gjerokrsteski
I have been working for log time in some projects with:
  • Yadif DIC (https://github.com/tsmckelvey/yadif)
  • Symfony’s DIC
  • But anyway. If you want to make improvements in the OOP area of PIMF, please feel free do it. And if you are thinking that implementing some lightweight DIC (or better some kind of “ Inversion-Of-Control paradigm”) will make PIMF faster, also feel free to do it. After that it will be helpful if we can see some benchmark results like PIMF-before vs. PIMF-after DIC implementation.
Garrett W.
@garrettw
I've never heard of Yadif, but I do know that Symfony's DIC is quite slow, so I wouldn't want to use that.
I have been working with an IoC container called Dice for some time (https://github.com/Level-2/Dice) and it is quite fast. I don't think any DIC will actually improve speed, but the best one would make development easier while being lightweight so as to not slow things down.
I will look at this Yadif to see how it works.
Here is an article showing some benchmarks of popular DICs but it is 2 years old.
https://www.sitepoint.com/php-dependency-injection-container-performance-benchmarks/
Gjero Krsteski
@gjerokrsteski
Interesting IoC container! Is significantly faster than other popular libraries. For some years I also played around with DI + DIC and IoC, please check it out. Maybe it helps https://github.com/gjerokrsteski/php-di-dic-ioc
Gjero Krsteski
@gjerokrsteski
FYI: SensioLabsInsight couldn't find a single violation in the whole codebase of this project https://insight.sensiolabs.com/projects/f73307c6-0864-454f-967d-cebfd1e4b304/analyses/163
Gjero Krsteski
@gjerokrsteski
This message was deleted
Garrett W.
@garrettw
great!
Gjero Krsteski
@gjerokrsteski

Update forked PIMF Git repository

If you want to update your own fork of a repo with some repos upstream,
than you should be able to clone your repo, add a new remote as upstream,
then merge your master with the upstream master.
# upstream is the name which you give to the remote
git remote add upstream git@github.com:gjerokrsteski/pimf-framework.git
git fetch upstream
# prefer using "git rebase upstream/master master" in order to avoid a merge commit if possible
git merge upstream/master master
git push origin master
Garrett W.
@garrettw
Yes, that's what I've been doing. I hate merge commits, so when I make a pull request, I wait for you to merge it before running 'git pull' so that it simply fast-forwards.
Garrett W.
@garrettw
What time is it where you are?
Gjero Krsteski
@gjerokrsteski
18:08
Garrett W.
@garrettw
Ah ok, so you are 7 hours ahead of me
Garrett W.
@garrettw
I've found that the easiest command to run to update my local repo is:
git pull upstream master --rebase
It does everything at once
(except for push)
Gjero Krsteski
@gjerokrsteski
great it works.... :-) only when the "upstream" repo is added before
Gjero Krsteski
@gjerokrsteski
FYI: just added an Pimf\Adapter\File that binds a named resource, specified by filename, to a stream. Nex feature will be "Pimf\Adapter\Stdout"
Gjero Krsteski
@gjerokrsteski
Garrett W.
@garrettw
FYI I am using the pimf-vanilla bundle to show what changes the end developers would need to make for their apps to work with my new code in the framework
Gjero Krsteski
@gjerokrsteski
I will check all bundles next days and update them to your changes.
Gjero Krsteski
@gjerokrsteski
FYI: all tests on budels pimf-vanilla an pimf-blog using PIMF v1.10.1-alpha are green
my idea is if all changes from issue-23 are made and all tests are green, than to release a new latest version PIMF v1.10.1 and to update all budels on PIMF v1.10.1 OK?
Garrett W.
@garrettw
What is "budels"?
And don't worry, I will create a PR for pimf-vanilla and the other skeleton projects once the framework development is complete
Gjero Krsteski
@gjerokrsteski
"budels" == bundles
Garrett W.
@garrettw
Oh lol that makes sense now, sorry
Garrett W.
@garrettw
What does PIMF mean? I have always wondered but never asked.
Garrett W.
@garrettw
@gjerokrsteski also I have other questions about the design of the framework
(1) What is your reason for using git submodules and not Composer dependencies?
(2) Are you opposed to tweaking the directory structure? I just read about the reasoning behind Symfony 4's structure and I would like to borrow a few ideas from that, as it seems built for scalable usage.
Garrett W.
@garrettw
(1.1) Are you opposed to adding dependencies on third-party libraries (for things like the router, logger, ORM, CLI, etc.)?
(I feel like using third-party libraries would make pimf more robust without much effort.)