inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

PHP 개발자의 최종 테크트리, 라라벨 강의

컨트롤러 안의 클래스의 설명과 _construct, protected 변수, bind, singleton 을 사용하는 것을 실습하여 봅니다.

singleton 결과값이 변경되지 않습니다.

403

조효진

작성한 질문수 1

0

안녕하세요.

해당 강의 실습시 해결되지 않는 부분이 있어 문의 드립니다.
bind -> singleton 으로 변경했는데요. 결과값이 변경되지 않습니다. 어느부분을 놓쳤는지 알려주시면 감사하겠습니다.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class Acontroller extends Controller
{
    protected $result;
    protected $basecontroller;

    public function __construct(Basecontroller $basecontroller) //서비스 컨테이너
    {
        $this->basecontroller = $basecontroller;
    }

    public function multiple($num)
    {
        $this->result = $this->basecontroller->plus($num)*10;
        return $this->result;
    }
}

php Laravel

답변 2

0

조효진

해결 되었습니다^^

확인해주셔서 감사합니다~

0

백승철

음... 우선 보내주신 코드를 보았을 때는 오타나 이상이 없어 보입니다.

*
라라벨에서 Acontroller를 singleton 으로 설정한 다는 것은 프로젝트가 실행되는 동안 이 함수는 한개만 동작하게 한다는 의미이기 때문에 값이 더해져서 출력되는 것 입니다.

이 부분은 다른 수강생 분들도 질문을 하시는 경우가 많았습니다. 그런데 기본적으로 프로바이더를 등록 안하신 경우 였었습니다. 하지만 현재 app.php 를 보내주셨던 것을 보니 우선을 추가를 하신 것 같아 저 또한 무엇이 문제인지는 가늠하기가 어렵습니다.

다만 약간의 추측을 해보자면, 다음과 같은 내용을 체크해보시길 권장해 드립니다.
1. app.php 가 제대로 되어 있는지

프로바이더를 등록하는 app.php 는 config 폴더 안에 있습니다.
imageimage확률은 적지만 vscode 에서 제대로 구별되어서 나오는지를 체크해 주세요. 올려주신 app.php의 코드 색상이 달라 보여 제안드립니다.

추가로 강의 내용대로 작업하시면 라라벨 최신 버전에서도 문제없이 동작되는 것으로 확인됩니다.

image

0

조효진

안녕하세요~

답변 주셔서 감사합니다.
알려주신 부분 확인했는데요.
제대로 작성한 것 같은데 안되네요.ㅠㅠ
뭐가 문제일까요?ㅠㅠ

0

백승철

가능하시면 라라벨 프로젝트 폴더를 통째로 압축해서 아래 메일로 보내주실 수 있으신가요? 제가 작업해봐도 동일한 증상이 발생되는지를 확인해 보겠습니다.
scbaek65@gmail.com

image 프로젝트 파일은 리눅스 안에 ubuntu 라는 이름이 붙은 폴더의 var/www 에 있으실 것으로 보입니다.

1

백승철

굉장히 간단한 오류였습니다. 저도 보내주신 이메일로 파일들을 비교해낸 뒤에야 찾을 수 있었습니다.
imageimage

첫번째 것이 보내주신 파일인데 정확히는 서비스 컨트롤러가 작동하지 않은 것이 아니라, Acontroller 가 singleton으로 등록은 되었지만 코드상 계속해서 70 이 더해지지 않고 result에 저장되던 것이 문제였습니다. 70 = 70 + 70 ~ 이 되어야 하는데 70 = 70 이 3번 반복되었다고 생각하시면 될 것 같습니다!

$this->result = 를 $this->result += 으로 바꾸어 주세요!

* 추가로 보내주신 프로젝트의 소유권이 전부 root 로 되어있었습니다. 라라벨에서 root 권한으로 프로젝트를 다운받게 되면 나중에 반드시 문제가 생기니 비주얼 스튜디오 코드에서 명령어 입력창에 ls -all 이라고 입력하신 뒤 혹시나 다음과 같이 되어 있으면 프로젝트를 새로 다시 받으셔야 합니다.
image

wsl에서 폴더 열기 리눅스 드라이브가 보이지 않습니다.

0

69

1

우분투 설치후 도커 설치하고 재부팅후 우분투 설정 화면이 안나옵니다.

0

46

1

섹션8 wire:model 실시간 적용 안됨 문의...

0

136

2

색션6 미들웨어 실습 질문 - routeMiddleware가 없습니다..

0

152

1

composer require livewire:livewire "^2.0" 안되요 ㅠ

0

182

2

우분투 서버에서 개발한 프로그램 서비스하기

0

224

1

공부하면서 깃에 잔디도 심고싶은데 클론이 안되네요;;

0

349

2

기가 막히네..

-3

302

1

미들웨어 실습 시 data 가 false 일 경우 에러 문의

0

309

1

api.php, web.php 문의

0

283

2

꼭 api.php, web.php 로 나눠서 해야 하나요?

0

284

1

같은 에러 인데요..SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laravel.sessions' doesn't exist

0

515

1

라라벨 11 버전으로 공부하고 있습니다. 서비스 프로바이더 변경되었네요.

1

857

1

7강 controller 에러 문의 드립니다

0

336

2

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laravel.sessions' doesn't exist

0

1196

2

WSL Integration부터 자꾸 실패하는데..

0

296

1

라라벨 폴더명을 다르게 하면 연결이 안되네요

0

627

3

강사님 깃허브 폴더를 연결하고 싶습니다.

0

321

2

라라벨 설치부터막히네요 ㅠㅠ

0

278

1

ppt 강의 자료를 다운로드 받을 수 있을까요?

0

380

1

컨트롤러 로 호출하는게 안됩니다.

0

233

1

업로드에서 진행이 안되고 있습니다.

0

269

1

깃헙 주소 알려주세요~

0

358

1

The /var/www/html/bootstrap/cache directory must be present and writable.

0

499

1