old에서 new로 체크아웃면 플젝을 진행하면서 composer로 추가한 의존성이 설치되어 있지 않을 수 있습니다. 이때는...
$ composer install
커밋 이력의 new 에서 old로 체크아웃하면 composer autoload 맵핑이 지금 상태에서는 필요 없는 클래스를 참조하는 등등의 문제가 발생할 수 있습니다. 이때는...
$ composer dump-autoload // 좀 더 깔끔하게 하려면, 앞이랑 똑 같이 $ composer install
여튼 문제를 해결하셔서 다행입니다.
항상 느끼는 거지만, 사실 언어는 변수/상수, 제어구조, 함수 등 아주 기본적인 내용이 전부라 다른 언어를 하신 분이면 금방 익숙해지는데, 진입 장벽은 시스템과 언어적인 특징인 듯 합니다. PHP 라면 컴포저라는 시스템을 이해 하는 것, 해당 언어에서 배포 방법을 이해하는 것, 해당 언어만의 특정 등등 처럼요.
일례로 다음 같은 예입니다. PHP에서는 키-값 쌍을 가지는 Hash도 배열이고, List도 배열입니다 (아래에서는 그냥 []로 썼지만, 사실은 변수로 넘어온 값일거에요).
>>> json_encode([]) => "[]" >>> json_encode(['foo' => 'bar']) => "{"foo":"bar"}"
그래서 키-값 쌍을 기대하는 배열인데, 빈 배열이 들어올 수 도 있는 경우에는 이렇게 해야 하는 것 처럼요.
>>> json_encode((object)[]) => "{}" >>> json_encode((object)['foo' => 'bar']) => "{"foo":"bar"}"
쓰다보니 질문과 완전 엉뚱한 방향ㅎㅎ
문제가 해결된게 아니었네요. 새로 남기신 질문 고맙습니다. 답변은 다른 독자분에게도 도움이 되도록 깃허브에 남겼습니다.
chapter 22를 보고 있는데요...
21까지는 그런데로 잘 했는데... 22부터는 소스 코드가 다 없어서.. 다운을 받아야 하더라구요..
그래서.. 새로운 폴더를 하나 만들고.. git clone해서 소스를 받았습니다.
그리고.. git checkout 3022 해서... 그 부분으로 갔는데요... 여기서부터 잘 안되네요..
어찌어찌 구글링하고 해서... 지금은..
이런 상태입니다..ㅠㅠ