我有一个很好的文件夹结构,因为它在大多数情况下都可以工作。
看看这两个标题:
import React, { useState } from "react";
function Search() {
const [joke, setJoke] = useState()
const [firstname, setFN] = useState("sharoze")
const [lastname, setLN] = useState("khan")
const newJoke = (first, last) => {
fetch(`http://api.icndb.com/jokes/random?firstName=${first}&lastName=${last}`)
.then(result => result.json())
.then(result2 => {
console.log(result2)
setJoke(result2.value.joke)
})
}
function validateForm() {
var firstname = document.getElementsByName("firstname")[0].value;
var lastname = document.getElementsByName("lastname")[0].value;
if (firstname === "" && lastname === "") {
alert("Please enter atleast one name");
return false;
}
else if (!(/^[a-zA-Z]+$/.test(firstname + lastname))) {
alert("'Only alphabets allowed'");
return false;
}
newJoke(firstname, lastname);
}
return (
<div className="jokeForm" >
<form name="searchForm" >
<input type="text" name="firstname" placeholder="First name" value={firstname} onChange={(e) => setFN(e.target.value)} />
<input type="text" name="lastname" placeholder="Last name" value={lastname} onChange={(e) => setLN(e.target.value)} />
</form>
<button id="button" onClick={() => validateForm()}>click here for a personalised chuckle</button>
<h3>{joke}</h3>
</div >
)
}
export default Search;
和
namespace Library\GitHubClient\Client\Services;
use Library\GitHubClient\Client\GitHubClient;
use Library\GitHubClient\Client\GitHubService;
use Library\GitHubClient\Client\Objects\GitHubTeam;
use Library\GitHubClient\Client\Objects\GitHubFullTeam;
use Library\GitHubClient\Client\Objects\GitHubUser;
use Library\GitHubClient\Client\Objects\GitHubRepo;
class GitHubOrgsTeams extends GitHubService {
第一个文件composer会自动加载,没有问题,但是第二个文件找不到。令人头疼的是:他们俩都生活在同一个文件夹中。
实际上,从该父构造函数可以看到,同一文件夹中存在3个类,并且只有前2个自动加载。
namespace Library\GitHubClient\Client\Services;
use Library\GitHubClient\Client\GitHubClient;
use Library\GitHubClient\Client\GitHubService;
class GithubOrgsRepos extends GitHubService {
作曲家会遇到某种限制问题吗?
答案 0 :(得分:0)
我一直把这三个地方塞满:
composer dump-autoload
来重新构建自动加载器。最后要检查的是,您的调用代码(在构造函数中)肯定在顶部有use Library\GitHubClient\Client\Services\GithubOrgsRepos;
语句。
答案 1 :(得分:0)
正如您评论中所建议的,这是您可以接受的答案。
这两行有助于注意可能是拼写错误:
$this->teams = new GitHubOrgsTeams($client);
$this->repos = new GithubOrgsRepos($client);
第一个具有用于集线器的大写字母H,而不是第二个。
您可能输错了类名或文件名。