⚠ In case you've missed it, we have migrated to our new website, with a brand new forum. For more details about the migration you can read our blog post for website migration. This is an archived forum. ⚠

  •     

profile picture

OOP and HMVC



Ric@rd

Ric@rd
  • profile picture
  • Member

Posted 07 December 2015 - 09:17 AM

I've been using this library for a while now and it's easy enough to use however being a developer myself i've got one comment that maybe will help this library moving forward and "maybe" target a more "corporate" public and therefore increase the revenue as sponsorship for the core developers. Let's be realistic here: open-source doesn't pay by itself hosting charges let alone time spent.

 

Straight to the point then.

only way of using CI at a "serious" level is by HMVC (there's no way around it) ... so my issue with Grocery is that view renders (add, edit, list, list_template are PHP files) SHOULD BELONG to the application directory AND NOT the assets directory.

 

i.e. would be great to have a CDN for static content (JS/CSS)? but this is not the case for PHP dynamic content.

 

 

Grocery_crud.php: (line 4743?!?!)

protected function _initialize_variables()

[.....]

        /** Initialize default paths */
        $this->default_javascript_path                = $this->default_assets_path.'/js';
        $this->default_css_path                        = $this->default_assets_path.'/css';
        $this->default_texteditor_path                 = $this->default_assets_path.'/texteditor';
        $this->default_theme_path                    = $this->default_assets_path.'/themes';
[......]

 

This lines shouldn't be here because because it enforces that dynamic PHP content to share static content location... my view is that this isn't appropriate.

 

Some may agree with me others won't however if you really want OOP with propery MVC support then that is the only way forward: properly structure the application.

 

Why I am pointing this out? (obviosly i can just modify the library file or extend the _initialize_variables()) ... because in order to build an software you should look out for design principles. At this particular case being able to break down the application MVC from cacheable static contents. this will increase security and improve performance and make this great library trully themable.

 

wouldn't it be great to load libraries from CDNs?