РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1324 of 1392 menu

Команда make:class

Команда make:class создаёт новый PHP-класс в указанном пространстве имён. Эта команда полезна, когда вам нужно создать класс, который не относится к стандартным типам (модели, контроллеры, миграции и т.д.). Команда принимает имя класса в качестве аргумента и опционально позволяет указать пространство имён через опцию --namespace. По умолчанию класс создаётся в директории app/Classes.

Синтаксис

php artisan make:class ClassName [--namespace=Namespace]

Пример

Создадим простой класс для работы с пользовательскими данными:

<?php namespace App\Classes; class UserData { public function getUserInfo($userId) { return [ 'id' => $userId, 'name' => 'User ' . $userId, 'email' => 'user' . $userId . '@example.com' ]; } public function formatUserData($data) { return 'User: ' . $data['name'] . ' (' . $data['email'] . ')'; } } ?>

Результат выполнения команды:

"INFO Class created successfully."

Пример

Создадим класс в кастомном пространстве имён с помощью опции --namespace:

php artisan make:class PaymentProcessor --namespace=App\Services
<?php namespace App\Services; class PaymentProcessor { private $paymentMethods = ['card', 'paypal', 'crypto']; public function processPayment($amount, $method) { if (!in_array($method, $this->paymentMethods)) { return ['status' => 'error', 'message' => 'Invalid payment method']; } return [ 'status' => 'success', 'amount' => $amount, 'method' => $method, 'transaction_id' => 'TX_' . uniqid() ]; } public function getAvailableMethods() { return $this->paymentMethods; } } ?>

Результат выполнения команды:

"INFO Class created successfully."

Пример

Использование созданного класса в контроллере:

<?php namespace App\Http\Controllers; use App\Classes\UserData; class UserController extends Controller { public function show($id) { $userData = new UserData(); $info = $userData->getUserInfo($id); $formatted = $userData->formatUserData($info); return $formatted; } } ?>

Результат выполнения кода:

"User: User 5 (user5@example.com)"

Пример

Создадим абстрактный класс для работы с данными:

<?php namespace App\Classes; abstract class DataHandler { protected $data = []; abstract public function processData($input); public function setData($data) { $this->data = $data; return $this; } public function getData() { return $this->data; } protected function validateData($input) { return is_array($input) && !empty($input); } } ?>

Результат выполнения команды:

"INFO Class created successfully."

Смотрите также

  • команда make:controller,
    которая создаёт новый контроллер
  • команда make:model,
    которая создаёт новую модель Eloquent
  • команда make:command,
    которая создаёт новую консольную команду
  • команда make:job,
    которая создаёт новый класс задачи для очереди
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить