왜 이렇게 쓰면 안되나요?
으아악나도 이런 글을 쓸 수 있나요? 위의 매개변수가 너무 많으면 몇 년, 말, 달을 써야 합니까?
으아악생성자에 기본값을 추가해야 하는 이유는 무엇입니까? 그렇지 않으면 오류가 보고됩니다! ! ! 저는 js 작성에 익숙해서 php 생성자를 조금 이해하지 못합니다. 설명하자면, 매개변수에 기본값을 할당해야 하나요?
天蓬老师2017-05-16 12:04:46
생성자와는 아무 관련이 없습니다.
함수 매개변수에는 기본값이 주어지지 않는 한, 사용 시 매개변수를 전달해야 합니다.
js보다 어렵다고 말하는 것은 옳지 않습니다. js(ES6 이전)에서는 함수에 대한 기본값 설정이 php보다 더 까다롭습니다.
그리고 말씀하신 세 번째 방법은 객체나 배열을 매개변수로 전달하는 것입니다. 물론 이 접근 방식은 값을 하나씩 작성하는 대신 루프를 사용할 수 있습니다.
黄舟2017-05-16 12:04:46
1. 여기에 보고한 오류는 첫 번째 매개변수에 기본값이 지정되었기 때문입니다. 기본값이 있는 매개변수는 문법에 따라 뒤에 배치되어야 합니다. (자세한 내용은 문서 참조)
2. 합격 물론 개체도 가능합니다
大家讲道理2017-05-16 12:04:46
생성자와는 관련이 없습니다
함수 정의 시 매개변수를 전달하지 않으면 오류가 발생합니다
$name
은 반드시 전달되어야 하며 $age
는 필요하지 않습니다. $name
必传,$age
不用。
至于为什么,PHP语法规定
이유는 PHP 구문 규정
PHP 구문이 오류를 보고하지 않습니다. PHP가 오류를 보고하면 오류 메시지를 게시하세요.
某草草2017-05-16 12:04:46
PHP 함수를 명시적으로 지정하고 매개변수에 기본값이 제공되지 않은 경우 호출 시 매개변수를 전달해야 합니다. 기본값이 있는 경우 호출 시 매개변수를 전달하지 않고도 기본값을 읽을 수 있습니다.
매개변수를 명시적으로 전달하는 것이 번거롭다면 func_get_args() 함수를 사용하여 매개변수를 읽을 수 있습니다.
PHP5.6 이후에는 A(...$args) 함수 형식을 사용하여 매개변수를 읽을 수도 있습니다.
巴扎黑2017-05-16 12:04:46
생성자는 새 객체를 생성할 때 기본적으로 호출되는 함수입니다
기본값이 없으면 함수의 매개변수를 전달해야 합니다. 이는 문법적 규칙입니다
모든 함수는 이렇습니다. 매개변수가 아무리 많아도 하나씩 전달해야 합니다.
내가 아는 모든 언어에는 이 규칙이 있습니다