Class 'Anhskohbo\NoCaptcha\NoCaptchaServiceProvider' not found - php

I tried adding Recaptcha through the Anhskohbo package but there is the error of no class found.

This package comes with laravel framework in my case I was upgrading the framework so I replaced the file app/config.php to new version
and it work
It tells you that it does not exist because it does not really exist. I think that if you download it, it will't work. You may have to take the full version of laravel framework as it is
or create new project for same version and tack app/config.php to your project
or reinstall by after delete vendor
composer install

Related

Composer error on installing to phpBB

I want to start making my own mods for PHPBB however I am having trouble setting up composer.
I have installed composer to my windows server and I run this in my command line
composer require :
C:\Inetpub\vhosts\Servers\5\localuser\gorrors\httpdocs\community
and I get this error:
"`UnexpectedValueExpection`" cannot parse version.
When googling this error message everyone else seems to fix the error by running selfupdate however when I do this it says I have the latest version?
What am I doing wrong? Any help would be great
Seems that you are using the require command wrong here. It is used to add a specified package to the composer.json file as one that your project depends on.
As for the expected package name... From the manual:
The package name consists of a vendor name and the project's name. Often these will be identical - the vendor name just exists to prevent naming clashes. It allows two different people to create a library named json, which would then just be named igorw/json and seldaek/json.
After specifying dependencies you can perform composer install, which will search for the packages from the set up repositories. Note that:
By default only the Packagist repository is registered in Composer. You can add more repositories to your project by declaring them in composer.json.

Laravel package installation without composer

How can I manually configure the laravel package without composer. I have a project in which I got error when installing Intervention package. Please suggest me Is it possible or not.
While you definitely can, for instance, simply clone their GitHub repo, eg.:
git clone https://github.com/Intervention/image.git
And then manually include corresponding files (classes) in your code, I wouldn't recommend it - composer generates autoload files, but this package will be ignored since it's not in composer.json. You will end up adding manual require()s somewhere in your code.
I would say try to fix your composer package issue first, and only if it cannot be helped - download and include Intervention manually

Composer: Updating a Project Created with `create-project`

Does composer provide a way to update the package a project was created with? i.e., if I create a new laravel project with the following
composer create-project --prefer-dist laravel/laravel blog
Composer will grab the latest version of the laravel/laravel package, unarchive it into the blog folder, and then run composer install from the blog folder.
What I want/need to know is, does composer provide a way for me to update the laravel/laravel package that was downloaded to the blog folder? I know I could run composer update inside the blog folder myself, but this will only update things listed in the compser.json's require property — it will not update the unarchived laravel/laravel in blog (or will it?)
As far as I know it's not really possible.
Imagine that you create a new as example Laravel project.
The composer create-project creates the skeleton with all initial routes in your configuration etc.
From the very very first moment you are starting to change the default routes, removing the default controllers and changing the default views, your project would be out of sync. because meanwhile laravel changes the skeleton to newer versions with some new default routes etc or event changes directory structure.
It would be really hard to merge those changes over your existing application.
A better solution would be to follow the "Upgrade guides" (laravel: https://laravel.com/docs/5.4/upgrade) and then just commit those changes to your own project.
If you want to upgrade to a new laravel version, you can always follow the upgrade guide for your specific version:
Laravel 5.8 to 6.0
Laravel 5.7 to 5.8
Laravel 5.6 to 5.7
Laravel 5.5 to 5.6
If you are more than one version behind, you need to apply the previous upgrade guide. So if you are on 5.6 and want to upgrade to 5.8, you need to follow the guide for 5.6 to 5.7 and then from 5.7 to 5.8.
The guides are pretty helpful: they tell you which package must be updated to what version and inform you about deprecated methods which will be removed in the upcoming versions.
Another method which you can use to upgrade to new minor versions is to just look at the differences from one laravel release to the next. That way, you can see what exactly has changed and which files are new (configuration files for example which you can copy and paste into your project as the default composer create-project command would do).
As for the current version, you can see the commits since last release here: v5.8.30 to 5.8
Directly under the headline for a release, there is a small link labelled "36 commits to 5.8 since this release" which will take you to the link above, just for the latest version.
That's not the goal of composer, that just manage your packages.
You should see composer create-project just as a shortcut of git clone + composer install. If you need to deploy your application you've multiple options, from a simple git pull, to more advanced deployment tools like Capistrano. But composer isn't one of these tools.
I just needed to do this, and I couldn't find anything simpler than a git clone and a git pull (as #Federkun). Maybe an alternative would be to publish a phar file for the project and download that?
I can see db-ping does this. It's based on joomla/using phar. Here is the main file for building, inspired from joomla's file.

Symfony - manually add phpxmlrpc to vendor

I need to use XML-RPC on my project. I have found a library phpxmlrpc (http://phpxmlrpc.sourceforge.net/) and I need to add it to vendor. I have copied the files in vendor folder (/vendor/phpxmlrpc/) and I need to see the xmlrpc_client class in my Controller. But I am not able to manage how to edit autoload.php to see the class, after a few attemps I am still getting "Attempted to load class "xmlrpc_client" from the global namespace.
Did you forget a "use" statement?" so I am pretty sure that there is some mess in my structure. I would really appreciate any help.
You must use a composer install tools for integrate 3third party code in your project a lot of possible time.
For XML-RPC you have this bundle : Symfony-rpc-bundle
When you install with composer install your bundle a lot of tricks run in your project symfony. Don't forget to add this bundle in your AppKernel.php file.
With this your code for XML-RPC is more upkeeping and stable.
A bit late with the answer, I fear, but phpxmlrpc can now be installed using Composer as you would do with any other package.
When checking out info about that library, just make sure that you look up the latest version on GitHub and not any more on SourceForge.

Laravel module autoload policy confusion

When executing
php artisan workbench user/asset
additional dependency(module) placed to
workbench/user/asset/vendor/illuminate/support.
Then framework autoload this module(illuminate/support) from workbench/user/asset/vendor/*, but i think it must load it from /vendor/laravel/framework/src/Illuminate/
So we have confusion here - some classes are loaded from framework(vendor/laravel/*) and some classes are loaded from workbench/[vendor]/[module]. Is that supposed to work that way? Or is it a bug?
Yes and No.
During development of your package it will work that way, because the whole structure is inside /workbench. It also helps you working in different versions of packages, develop using Laravel 4.1 while your app is still on 4.0.
After you finish working on your package, it's better to create a real Composer package. You can create a private one and then, yeah, once you install it via Composer it will be placed in /vendor.

Categories