Я хочу включить этот код https://github.com/emotionLoop/visualCaptcha-PHP в качестве библиотеки.Как передать URL-адрес конструктору класса php
Так я в том числе класса из вне папки, как это:
<?php printCaptcha('contact_us_form_vc',$_FORM_TYPE,$_FIELD_NAME); ?>
function printCaptcha($formId = NULL, $type = NULL, $fieldName = NULL) {
require_once(SITE_ROOT . '/visualCaptcha/inc/visualcaptcha.class.php');
$visualCaptcha = new \visualCaptcha\Captcha($formId, $type, $fieldName);
$visualCaptcha->show();
}
Внутри класса есть переменные, которые я хочу, чтобы перейти от моей функции:
private $htmlClass = 'visualcaptcha.class.html.php';
public static $imagesPath = 'images/visualcaptcha/';
public static $audiosPath = 'audio/visualcaptcha/';
public static $imageFile = 'image.php';
public static $audioFile = 'audio.php';
Любые идеи, как передать их?
Что я сделал:
function printCaptcha($formId = NULL, $type = NULL, $fieldName = NULL, $htmlClass = NULL) {
require_once(SITE_ROOT . '/visualCaptcha/inc/visualcaptcha.class.php');
$visualCaptcha = new \visualCaptcha\Captcha($formId, $type, $fieldName, $htmlClass);
$visualCaptcha->show();
}
И чем внутри класса:
public function __construct($formId = NULL, $type = NULL, $fieldName = NULL, $accessibilityFieldName = NULL, $htmlClass = NULL)
И добавил:
if (! is_null($htmlClass)) {
$this->htmlClass = $htmlClass;
}
Что вы пробовали? Есть ли упоминание о том, как обновить их в руководстве? 'Public static' можно обновить с помощью' Captcha :: $ imagesPath'. «Закрытый» нельзя обновить, если только не существует метода, или вы модифицируете класс, чтобы его разрешить. –
@RocketHazmat вообще не упоминается в документации! Я даже не мог пройти мимо частного. –
, поскольку RocketHazmat сказал, что нет способа (насколько я знаю) обновить частные без какого-либо метода. Однако вы можете добавить свой собственный метод к классу для доступа к частной переменной и изменить его.Для публичных STATIC просто используйте стандартный синтаксис Classname :: $ variable ... – briosheje