Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel 5 Unable to detect application namespace

Tags:

laravel-5

I'm new to Laravel 5 and trying to understand it bit by bit and at the moment I'm really confused with error messages. MVC is new thing to me.

What I'm trying to do is blog system for my site and I've downloaded package called "Serverfireteam/blog"; https://phppackages.org/p/serverfireteam/blog

It installed just fine, I guess. When I go to http://myhost.com/public/panel/login I get the login screen but when I login it gives me this error:

ErrorException in Application.php line 1119: Unable to detect application namespace. (View: /var/www/html/mpa2/resources/views/vendor/panelViews/dashboard.blade.php)

&&

RuntimeException in Application.php line 1119: Unable to detect application namespace.

Funny thing is it worked before just fine, I could login and make/edit blog posts and I could see them go to mysql-database. Also I was able to see them on site. Then I started to modify view/template files for integrating blog output to my site's own layout.

I've got no idea what gives, I've tried to google for solution but no help. Any ideas what could be wrong?

like image 506
mpak Avatar asked Aug 09 '15 10:08

mpak


3 Answers

Okay, I solved it. What I did to solve this:

composer update

gave me following error:

[Seld\JsonLint\ParsingException]

"./composer.json" does not contain valid JSON
 Parse error on line 9:
"require-dev
 ---------------------^
 Expected: 'STRING' - It appears you have an extra trailing comma

I opened composer.json and there was one extra comma in last line:

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.1.*",
}

Removed the comma so it looked like this:

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.1.*"
}

And problem was gone.

like image 111
mpak Avatar answered Dec 06 '22 00:12

mpak


Usually, this means that your composer.json file contains invalid JSON. Usually an extra comma at the end of an array.

Try running this to tell you exactly where the issue is:

composer diagnose
like image 38
mohammadreza khalifeh Avatar answered Dec 06 '22 02:12

mohammadreza khalifeh


laravel version: 5.8.3

[One more Reason]: default app path in composer.json is modified

the default setup looks like this

"psr-4": {
    "App\\": "app/"
 },

If its modified to say,

"psr-4": {
    "Core\\": "app/Core/"
 },

the make commands with artisan wont work, and a few other things

the reason is https://github.com/laravel/framework/blob/5.3/src/Illuminate/Foundation/Application.php#L296

app is static in the path, and here is the where the exception is thrown https://github.com/laravel/framework/blob/5.3/src/Illuminate/Foundation/Application.php#L1143

This default behavior can be modified in bootstrap/app.php

Here is my solution [reference: https://laracasts.com/discuss/channels/general-discussion/how-i-can-change-laravel-directory-structure?page=1]

Solution:

Core/Application.php

<?php

namespace Core;

use Illuminate\Foundation\Application as IlluminateApplication;

class Application extends IlluminateApplication
{
    protected $appPath = __DIR__;
}

bootstap/app.php

$app = new \Core\Application(
    $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
like image 30
f_i Avatar answered Dec 06 '22 00:12

f_i