Следование соглашениям об именовании в PrestaShop помогает поддерживать единообразие кода, улучшает его читаемость и упрощает поддержку проекта. В этом руководстве мы рассмотрим основные соглашения об именовании, используемые в PrestaShop 1.8.
Общие правила именования
Основные правила именования включают:
- Использование английского языка для всех имен переменных, функций, классов и файлов.
- Имена должны быть осмысленными и понятными, отражающими назначение переменной, функции или класса.
- Использование camelCase для имен переменных и методов.
- Использование StudlyCaps для имен классов и интерфейсов.
- Использование snake_case для имен файлов и директорий.
Именование классов и интерфейсов
Классы и интерфейсы должны именоваться в стиле StudlyCaps:
- Имена классов должны быть существительными и описывать сущность, которую они представляют (например,
Product,Order). - Имена интерфейсов должны быть прилагательными или описывать поведение (например,
Renderable,LoggerInterface).
Именование методов
Методы должны именоваться в стиле camelCase:
- Имена методов должны быть глаголами и описывать действие, которое они выполняют (например,
getProductName,calculateTotal). - Методы, возвращающие значение, должны начинаться с
getилиisдля булевых значений (например,getPrice,isAvailable). - Методы, выполняющие действие, должны начинаться с глагола (например,
saveProduct,deleteOrder).
Именование переменных
Переменные должны именоваться в стиле camelCase:
- Имена переменных должны быть осмысленными и отражать их содержимое (например,
$productName,$totalAmount). - Используйте краткие, но понятные имена переменных. Избегайте использования односимвольных имен, за исключением счетчиков циклов.
Именование констант
Константы должны именоваться в стиле UPPER_SNAKE_CASE:
- Имена констант должны быть написаны заглавными буквами с подчеркиваниями между словами (например,
MAX_UPLOAD_SIZE,DEFAULT_LANGUAGE).
Именование файлов и директорий
Файлы и директории должны именоваться в стиле snake_case:
- Имена файлов классов должны соответствовать именам классов и иметь расширение
.php(например,Product.php,OrderController.php). - Имена директорий должны быть осмысленными и отражать их содержимое (например,
controllers,models).
Именование шаблонов и представлений
Шаблоны и представления должны именоваться в стиле snake_case:
- Имена файлов шаблонов должны отражать их назначение и быть понятными (например,
product_list.tpl,order_summary.tpl).
Именование маршрутов
Маршруты должны именоваться в стиле snake_case:
- Имена маршрутов должны быть осмысленными и описывать действие и сущность, к которой они относятся (например,
admin_product_list,customer_order_detail).
Примеры
Именование классов
class ProductController {
public function getProductName(int $productId): string {
// Логика метода
}
}
Именование методов и переменных
class OrderService {
private $orderRepository;
public function __construct(OrderRepository $orderRepository) {
$this->orderRepository = $orderRepository;
}
public function calculateTotalAmount(Order $order): float {
$totalAmount = 0;
foreach ($order->getItems() as $item) {
$totalAmount += $item->getPrice() * $item->getQuantity();
}
return $totalAmount;
}
}
Именование констант
class Config {
const MAX_UPLOAD_SIZE = 1048576; // 1 MB
const DEFAULT_LANGUAGE = 'en';
}
Именование файлов и директорий
- controllers/
- ProductController.php
- OrderController.php
- models/
- Product.php
- Order.php
- views/
- templates/
- product_list.tpl
- order_summary.tpl
Заключение
Следование соглашениям об именовании в PrestaShop помогает поддерживать единообразие кода, улучшает его читаемость и упрощает процесс разработки и поддержки. Применение указанных выше правил и рекомендаций позволит вам создавать более чистый и понятный код, который будет легче поддерживать и развивать.

