2016-08-15 79 views
0

我是新作曲家,但我可以從cmd得到vendorcomposer.lockcomposer.json,然後將它們粘貼到我的項目中,但沒有驗證_主文件夾。 我的項目路徑:C:\wamp64\www\php Projects\project 1\(here there are test.php and vendor, composer.lock and composer.json) Validation_Master文件夾路徑:C:\wamp64\www\php Projects\Validation_Master 我的代碼是:在驗證中找不到類驗證程序Lib

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

但上面的代碼給我下面的錯誤:

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


我做了什麼? !?
Validation_Master文件夾複製到test.php的路徑==>(失敗)
拷貝賣方文件夾Validation_Master文件夾的路徑,並從那裏==>(失敗)
操縱命名空間很多,並添加命名空間尊重需要\驗證碼==>(失敗)
有什麼問題? 如何使用尊重驗證庫?????請基本上回答我(我之前閱讀文檔,但沒有幫助)
vendor folder image
composer.json代碼:

{ 
    "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(); 

我很感激和抱歉,我已經寫了很多

UPDATE:我的問題喜歡這個職位: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,但是爲什麼程序員在沒有工作的情況下會把Liber中的composer.json放到Lib中。有什麼不同?再次感謝您的飲酒 – pedram64

+0

每個lib都有自己的composer.json聲明自己的依賴關係。當你運行更新時,Composer收集所有這些信息(安裝時沒有鎖文件也基本上是一個更新過程)。它需要知道所有庫的所有需求和約束,以解決它可以/應該安裝的正確版本。 – alcohol

相關問題