За прошедшие годы я программировал на нескольких языках, включая последние два года на PHP с использованием Symfony 2, где я сейчас занимаюсь разработкой веб-приложения.Однако, в отличие от C #, C ++ или даже простого старого C, мне еще предстоит выяснить, как создать внешний файл библиотеки функций или набор таких файлов, которые я могу легко «включить» в php-файл контроллера Symfony.
Прямо сейчас я помещаю свои функции в каждый php-файл разных контроллеров пакета, которые я пишу.Конечно, это приводит к проблемам с управлением кодом и большими файлами контроллера пакетов, так как я со временем улучшаю функции и блоки кода.
Операторы php require и include / require не очень помогают в этом, потому что вы можетепросто поместить кучу блоков функций / кода в файл include / require, по крайней мере, по моему опыту, без создания класса служебной оболочки.
Все это кажется мне странным, происходящим из разных языков, которые яиспользовался ранее, где я мог включать много различных функций в один файл включения или просто вызывать предварительно скомпилированную библиотеку функций и использовать файл заголовка включения, чтобы сообщить проекту об интерфейсах вызова функций, общих переменных и константах.
Я знаю, что Symfony поддерживает библиотеки вендоров, но они кажутся слишком сложными, и я пока не нашел «тупого» учебника о том, как их создавать.
Может кто-нибудь указать мне на сайт или книгуэто охватывает то, что я ищу?
Спасибо.
================================================================================ Обновленный вопрос - ошибка новичка с моей стороны.
Вот лишенныйdown версия файла контроллера пакета проекта, над которым я работаю:
<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
:
use DateInterval;
class WebAppController extends Controller {
//
// Putting the require statement here causes a number of errors.
// The ' before the common_code is unexpected, as is the trailing ' and ;
//
// This is what I had happen when I first tried to include a library of
// functions that I wanted to use in my bundle controllers, and caused me
// to think that php could only include code within the function
// definitions, but not complete functions (definitions and code bodies).
//
require 'common_code/fileUtilities.php'; // a file containing a bunch of
// File-Utility functions ...
/**
* @Route("/WebApp/profileInt")
* internal profile page.
*
* Parameters: None
* @return: Internal profile page response string.
*/
public function profileIntAction() {
:
//
// Placing the require statement here works, but then the utility
// functions need to be added to every action function because the
// functions in the fileUtilities.php file become locally nested
// with each function.
//
:
}
}
//
// Placing the require statement here also works, and the utility functions
// are 'included' only once in each bundle controller, which is exactly what
// want.
//
?>
Почему-то я упустил возможность использовать оператор require после основного класса в файле контроллера пакета, когда я ранее смотрел на include/ требовать заявления.Я даже спрашивал об этой проблеме раньше в StackOverflow, но, думаю, я не смог уточнить, о чем спрашиваю.
На этот раз ваш ответ помог мне и заставил меня попробовать разные вещи в моем коде... Спасибо!