• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to use Minify in Codeigniter 4 - Namespace Issues

#1
Star 
Hi,

I am trying to use matthiasmullie/minify in Codeigniter 4. But so far I am getting errors due to wrong namespacing. Following is what I did so far:

I copied whole unzipped folder in Library: Libraries/Mathia

I added following in Config/Autoload.php
PHP Code:
'MatthiasMullie'      => APPPATH 'Libraries/Mathia/src'

In a controller I used following code:
PHP Code:
use MatthiasMullie\Minify

Then I used following code to use it but I got errors, file not found
PHP Code:
$minifier = new Minify\CSS(); 

Kindly advise how to use it correctly.

Regards

Note: I do not want to use composer, kindly advise how to manually integrate Minify in Codeigniter 4.
Reply

#2
i think it may be your not linking a "namespace" to where classes are using namespace.

Namespace of css.php is "MatthiasMullie\Minify" so you have to use that. the \ is a problem so simply escape that with another backspace.

'MatthiasMullie\\Minify'=>APPPATH.'Libraries/Mathia/src',



i prefer to keep my 3rd packages separate, im using PHPMailer:

Code:
appstarter
├── PHPMailer
├── README.md
├── app
├── builds
├── composer.json
├── composer.lock
├── env
├── fontawesome
├── gulpfile.js
├── license.txt
├── node_modules
├── package-lock.json
├── package.json
├── phpunit.xml.dist
├── public
├── scss
├── spark
├── tests
├── vendor
└── writable


php mailer is at same level as app; to get it working this is my autoload:

Code:
public $psr4 = [
        APP_NAMESPACE => APPPATH, // For custom app namespace
        
        
        'Config'      => APPPATH . 'Config',
         'PHPMailer\\PHPMailer'=> ROOTPATH.'PHPMailer/src',
        
        
    ];

then in a controller to use it :


Code:
use PHPMailer\PHPMailer\PHPMailer;

by the way you can use composer to get that :

https://packagist.org/packages/matthiasmullie/minify

then the autoload feature of composer would do class linking for you automatically
Reply

#3
had another quick look; if you set it up manually you also need this package : https://github.com/matthiasmullie/path-converter

let me know if your still having trouble ?


Attached Files Thumbnail(s)
   
Reply

#4
Thanks captain, its working fine now. I already had path converter. Issue was in namespace.
Reply

#5
ok great- it shows the advantage of composer though, in that dependencies needed are installed
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.