Welcome Guest, Not a member yet? Register   Sign In
How to use Minify in Codeigniter 4 - Namespace Issues
#1
Star 
(This post was last modified: 10-20-2020, 05:03 AM by myo.)

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

(This post was last modified: 10-20-2020, 05:50 AM by captain-sensible.)

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

(This post was last modified: 10-21-2020, 03:42 AM by captain-sensible.)

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
#6

(This post was last modified: 09-09-2021, 10:31 PM by haroldentwist.)

(10-21-2020, 03:58 AM)myo Wrote: Thanks captain, its working fine now. I already had path converter. Issue was in namespace.

After replacing the namespace were you able to solve the problem? You didn't need a converter?
Reply




Theme © iAndrew 2016 - Forum software by © MyBB