问题
I'm new in composer but I could get vendor
, composer.lock
and composer.json
from cmd then I paste them to my project without Validation_Master folder.
My project Path: C:\wamp64\www\php Projects\project 1\(here there are test.php and vendor, composer.lock and composer.json)
Validation_Master folder path: C:\wamp64\www\php Projects\Validation_Master
My Code is:
<?php
require "vendor/autoload.php";
use Respect\Validation\Validator as v;
$number = 123;
v::numeric()->validate($number);
?>
But the above code gives me the following error :
Fatal error: Class 'Respect\Validation\Validator' not found in C:\wamp64\www\php Projects\project 1\test.php
What did I do?!!?
copy Validation_Master folder to the path of test.php ==> (Failed )
copy Vendor folder to the path of Validation_Master folder and required from there ==> (Failed )
Manipulate namespace a lot and add namespace Respect\Validation to the code ==> (Failed )
What's The PROBLEM ????
How Can I use Respect Validation Library ????? Please answer me basically (I read docs before but didn't help)
vendor folder imagecomposer.json
code:
{
"name": "respect/validation",
"description": "The most awesome validation engine ever created for PHP",
"keywords": ["respect", "validation", "validator"],
"type": "library",
"homepage": "http://respect.github.io/Validation/",
"license": "BSD Style",
"authors": [
{
"name": "Respect/Validation Contributors",
"homepage": "https://github.com/Respect/Validation/graphs/contributors"
}
],
"require": {
"php": ">=5.6"
},
"require-dev": {
"egulias/email-validator": "~1.2",
"malkusch/bav": "~1.0",
"mikey179/vfsStream": "^1.5",
"phpunit/phpunit": "~5.3",
"symfony/validator": "~2.6.9",
"zendframework/zend-validator": "~2.3"
},
"suggest": {
"ext-bcmath": "Arbitrary Precision Mathematics",
"ext-mbstring": "Multibyte String Functions",
"egulias/email-validator": "Strict (RFC compliant) email validation",
"malkusch/bav": "German bank account validation",
"symfony/validator": "Use Symfony validator through Respect\\Validation",
"zendframework/zend-validator": "Use Zend Framework validator through Respect\\Validation",
"fabpot/php-cs-fixer": "Fix PSR2 and other coding style issues"
},
"autoload": {
"psr-4": {
"Respect\\Validation\\": "library/"
}
},
"autoload-dev": {
"psr-4": {
"Respect\\Validation\\": "tests/library/"
}
},
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"scripts": {
"test": "./vendor/bin/phpunit"
}
}
the autoload.php
code :
<?php
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit46e0d859a60be6f2acf30ed92a2228ad::getLoader();
I appreciate and sorry that I've written a lot
UPDATE : My problem like this post : Why my autoload.php of composer doesn't work?, but it didn't help
I also run composer dump-autoload
in cmd ==> (failed)
回答1:
It looks to me like you copied the composer.json of the respect/validation
library, and tried to use it as the composer.json for your project. This is a completely wrong approach.
Use this as your project composer.json:
{
"require": {
"respect/validation": "^1.0"
}
}
Then:
- run
composer install
, - run your script again.
来源:https://stackoverflow.com/questions/38950734/class-validator-not-found-in-respect-validation-lib