Я хочу иметь функцию, которая принимает 1 параметр в качестве ввода, если значение не передается, оно должно принимать значение по умолчанию в качестве вывода другой функции. Я использую класс в PHP для достижения этой цели, но он дает мне ошибку, так как «константное выражение содержит недопустимые операции»
<?php
class Common
{
public $usrname;
function getLoggedInUser(){
if (ISSET($_SESSION['email'])) {
$this->usrname = ($_SESSION['email']);
return $this->usrname;
}
return false;
}
function getLoggedInUserId($username = $this->usrname){
echo $username;
}
}
И вызывая файл класса как
<?php
include "common.php"$c = new Common;
$c->getLoggedInUserId();
Ниже показана ошибка для вышеуказанного вызова
Неустранимая ошибка: выражение константы содержит недопустимые операции
Пожалуйста, дайте мне знать, как передать результат функции в качестве параметра для другой функции. Спасибо
Поскольку значение по умолчанию должно быть постоянным, вам нужно написать что-то вроде этого …
function getLoggedInUserId($username = null){
if ( $username == null ) {
$username = $this->usrname;
}
echo $username;
}
getLoggedInUserId
пользователь должен переопределить как показано ниже
function getLoggedInUserId($username=""){
if(empty($username)){
echo $this->usrname;
}else{
echo $username;
}
}
измените свою функцию на это:
public function getLoggedInUserId($username=""){
$username = ($username == "") ? $this->usrname : $username;
}