加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 供应商更新打破了FOS用户捆绑包“在非对象上调用成员函数

发布时间:2020-12-13 13:50:12 所属栏目:PHP教程 来源:网络整理
导读:我为Symfony 2.8项目更新了我的供应商,突然登录页面没有加载 – 而是我得到了这个: Error: Call to a member function has() on a non-object in vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php at line 184 "name"
我为Symfony 2.8项目更新了我的供应商,突然登录页面没有加载 – 而是我得到了这个:

Error: Call to a member function has() on a non-object in
vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
at line 184

"name": "hazardlog","license": "proprietary","type": "project","autoload": {
    "psr-4": {
        "": "src/"
    },"classmap": [
        "app/AppKernel.php","app/AppCache.php"
    ]
},"repositories": [
    {
        "type": "package","package": {
            "name": "jquery/jquery","version": "1.11.1","dist": {
                "url": "https://code.jquery.com/jquery-1.11.1.js","type": "file"
            }
        }
    }
],"require": {
    "php": ">=5.3.9","symfony/symfony": "2.8.*","doctrine/orm": "^2.4.8","doctrine/doctrine-bundle": "~1.4","symfony/swiftmailer-bundle": "~2.3","symfony/monolog-bundle": "~2.4","sensio/distribution-bundle": "~5.0","sensio/framework-extra-bundle": "^3.0.2","incenteev/composer-parameter-handler": "~2.0","braincrafted/bootstrap-bundle": "~2.0","twbs/bootstrap": "3.0.*","jquery/jquery":  "1.11.*","hwi/oauth-bundle": "^0.5.0","friendsofsymfony/user-bundle": "~2.0@dev","stephanecollot/datetimepicker-bundle": "dev-master"
},"require-dev": {
    "sensio/generator-bundle": "~3.0","symfony/phpunit-bridge": "~2.7"
},"scripts": {
    "symfony-scripts": [
        "IncenteevParameterHandlerScriptHandler::buildParameters","SensioBundleDistributionBundleComposerScriptHandler::buildBootstrap","SensioBundleDistributionBundleComposerScriptHandler::clearCache","SensioBundleDistributionBundleComposerScriptHandler::installAssets","SensioBundleDistributionBundleComposerScriptHandler::installRequirementsFile","SensioBundleDistributionBundleComposerScriptHandler::prepareDeploymentTarget"
    ],"post-install-cmd": [
        "@symfony-scripts"
    ],"post-update-cmd": [
        "@symfony-scripts"
    ]
},"config": {
    "bin-dir": "bin"
},"extra": {
    "symfony-app-dir": "app","symfony-web-dir": "web","symfony-assets-install": "relative","incenteev-parameters": {
        "file": "app/config/parameters.yml"
    }
}
我已经多次看过这样的问题,但我找不到一个接受了答案和解释的问题.所以这里.

基本问题在于:

"friendsofsymfony/user-bundle": "~2.0@dev",

当Symfony 2.8 / 3.0首次发布时,稳定的1.x版本的FOSUserBundle不再有效. 2.x版本已经开发多年,没有实际的路线图可以确定何时稳定.所以开发分支被破解以使其正常工作.人们别无选择,只能使用它当然是危险的,因为你永远不知道发展变化何时可能会破坏你的代码.

时间流逝,最终发布了稳定的2.x版本的FOSUserBundle.但是,相当多的开发人员从未到过更新其依赖关系并继续使用master分支.

快进到现在. Symfony 4的发布现在已经在主分支中引发了相当大的发展.开发正在对现有的2.8(可能是3.0)代码进行重大更改.

底线是使用稳定的分支:

"friendsofsymfony/user-bundle": "~2.0",

然后是作曲家更新.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读