# Компиляция проекта (TODO)

**VoidCore** поддерживает компиляцию проектов. Для этого существует статичный класс **WinForms\_PHP.WFCompiler**

Для компиляции проекта необходимо вызвать метод **Compile** вышеуказанного класса:

int **WinForms\_PHP.WFCompiler.Compile** (string $savePath, string $iconPath, string $phpCode, string $productDescription, string $productName, string $productVersion, string $companyName, string $copyright, string $callSharpCode, string $declareSharpCode, $dictionary, $assemblies) — компилирует проект и возвращает указатель на список возникших ошибок

| Аргумент                   | Описание                                                     |
| -------------------------- | ------------------------------------------------------------ |
| string $savePath           | Путь для сохранения проекта *(exe)*                          |
| string $iconPath           | Путь до иконки проекта                                       |
| string $phpCode            | PHP код проекта, выполняющийся при старте *(aka script.php)* |
| string $productDescription | Описание приложения                                          |
| string $productName        | Название приложения                                          |
| string $productVersion     | Версия приложения                                            |
| string $companyName        | Название компании                                            |
| string $copyright          | Копирайт                                                     |
| string $callSharpCode      | (TODO)                                                       |
| string $declareSharpCode   | (TODO)                                                       |
| $dictionary                | (TODO)                                                       |
| $assemblies                | (TODO)                                                       |

Пример:

{% code title="script.php" %}

```php
<?php

$compiler = VoidCore::getClass ('WinForms_PHP.WFCompiler');
$errors   = VoidCore::callMethod ($compiler, 'Compile', ...); // TODO

# Смотрим длину списка ошибок
$len = VoidCore::getProperty ($errors, 'Size');

# Выводим все ошибки
for ($i = 0; $i < $len; ++$i)
    echo VoidCore::getArrayValue ($errors, $i);

```

{% endcode %}
