2016-08-15 7 views
0

私はコンポーザーで新作ですが、vendor,composer.lockcomposer.jsonをcmdから取得し、Validation_Masterフォルダを使わずにプロジェクトに貼り付けました。 私のプロジェクトのパス:C:\wamp64\www\php Projects\project 1\(here there are test.php and vendor, composer.lock and composer.json) Validation_Masterフォルダパス:バリデーションのバリデーションが見つかりませんLib

<?php 
    require "vendor/autoload.php"; 
    use Respect\Validation\Validator as v; 
    $number = 123; 
    v::numeric()->validate($number); 
?> 

しかし、上記のコードは私に次のエラーを与える:C:\wamp64\www\php Projects\Validation_Master マイコードがある

Fatal error: Class 'Respect\Validation\Validator' not found in C:\wamp64\www\php Projects\project 1\test.php


私が何をしましたか。 !?
は (失敗)==> Validation_Masterフォルダのパスに
コピーベンダーのフォルダを(失敗)し、そこから必要な
==> test.phpをのパスにValidation_Masterフォルダをコピーするには、多くのことを名前空間と名前空間の尊重を追加操作する\コードへのバリデーション==>(失敗)
問題は何ですか? どのように私は尊重検証ライブラリ?????

{ 
    "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" 
    } 
} 

autoload.phpコード:

<?php 
require_once __DIR__ . '/composer' . '/autoload_real.php'; 

return ComposerAutoloaderInit46e0d859a60be6f2acf30ed92a2228ad::getLoader(); 

私は感謝し、私がしたことを残念にコード
vendor folder image
composer.json(私は前に、ドキュメントを読みますが助けにはならなかった)基本的に私に答えてください。多くを書いた

更新:私のこの問題のような問題:Why my autoload.php of composer doesn't work?が、それは私も(失敗)==> CMDでcomposer dump-autoloadを実行
を助けなかった

+0

composer.jsonファイルのコンテンツとベンダーフォルダのスクリーンショットを追加してください – Milad

答えて

0

あなたがrespect/validationライブラリのcomposer.jsonをコピーし、そして作曲としてそれを使用しようとしたようにそれは私には見えます.jsonをプロジェクトに追加します。これは完全に間違ったアプローチです。プロジェクトcomposer.jsonとして

使用これを:

{ 
    "require": { 
    "respect/validation": "^1.0" 
    } 
} 

その後:

  • 実行composer install
  • が再びあなたのスクリプトを実行します。
+0

ありがとうございます。それは本当に私がLOLをしたばかげた愚かさでした。しかし、なぜプログラマはLibにcomposer.jsonを置くのですか?違いはなんですか?再度アルコールありがとうございました – pedram64

+0

各libには独自の依存関係を宣言するcomposer.jsonがあります。 Composerは、アップデートを実行するときにこれらのすべてを収集します(ロックファイルなしのインストールも基本的にアップデートプロセスです)。インストール可能な正しいバージョンを解決するためには、すべてのlibのすべての要件と制約を知る必要があります。 – alcohol

関連する問題