Расширение функции класса, например codeigniter

Если вы используете codeigniter (возможно, другой фреймворк), вы можете использовать что-то вроде этого

$this->db->query()->row();

Теперь я хочу создать что-то подобное. На данный момент у меня есть этот простой класс

class Users
{
    function getUser(){

    }
}

Итак, когда я пробую свой класс выше, я могу использовать это

<?php
require 'Users.php';
$users= new Users();
$users->getUser();

но то, что я хочу, есть. Я могу добавить order в свою функцию. Итак, maybe я могу создать вот так

<?php
require 'Users.php';
$users= new Users();
$users->getUser()->orderby("fullname","asc");

как я могу этого добиться? заранее спасибо

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
17
1

Ответы 1

Это называется объединением методов. Чтобы он работал, каждый метод возвращает объект, который может быть одним и тем же объектом.

Пример:

class Users
{
    function getUser(){
        return new User();
    }
}

Если вы используете:

<?php
require 'Users.php';
$users= new Users();
$users->getUser()->orderby("fullname","asc");

getUser будет вызываться на Users, а orderby будет вызываться на User.

Другие вопросы по теме