Nástroje používateľa

Nástoje správy stránok


dev:omega:php:files-structure

Štruktúra súborov

Moduly

Moduly by mali byť uložené niekde v adresári /include/ alebo /local_service/CUSTOMER_DIR/include/.
CUSTOMER_DIR je názov adresára konkrétneho zákazníka.

  • Názov súboru musí obsahovať na konci .class.php, napríklad myClass254.class.php.
  • Treba striktne dodržiavať veľkosť písmen. Ak súbor alebo trieda budú obsahovať veľké písmená, tak treba tieto veľké písmená dodržiavať aj pri volaní. OS Windows nerozoznáva veľké a malé písmená v názvoch súborov, ale systém Linux áno. Takže pri vývoji na OS Windows si treba dávať na toto pozor, pretože na 99% je produkčné prostredie pod OS Linux.
  • V takomto súbore by sa mala nachádzať práve jedna trieda a jej názov by mal byť odvodený od umiestnenia v adresárovej štruktúre. Napríklad trieda v súbore /include/myFolder90/otherFolder3/myClass254.class.php bysa mala volať class studio2_myFolder90__otherFolder3__myClass254. Všimnite si dve podtrhovátka, ktoré oddeľujú adresáre.
  • Ak názov nebude takto odvodený, potom musí byť na konci súboru return s názov tejto triedy ako string. Napríklad ak sa trieda bude volať class myClass254, potom pred koncom súboru treba vložiť return 'myClass254';

Príklad súboru /include/accounts/accountTools.class.php.

<?php
 
if (defined('__STUDIO2_ACCOUNTS_ACCOUNT_TOOLS_CLASS_LAYER__')) return;
define('__STUDIO2_ACCOUNTS_ACCOUNT_TOOLS_CLASS_LAYER__', 1);
 
 
class studio2_accounts__accountTools extends studio2_core_module
{
 
	private $forgotPasswordExpireHours = 1;
 
 
	private $sendActivateInstructionsExpireHours = 336; //24 * 14;
 
	/**
	 *
	 * @see setEmail()
	 */
	function fSetEmail($settings = array())
	{
		return $this->cc_flash(array($this, "setEmail"), $settings);
	}
 
 
	/**
	 * Nastaví email pre aktuálne prihlásený účet.
	 *
	 * @param	array	$settings
	 * @param	string	$settings["email"]
	 */
	function setEmail($settings = array())
	{
		if ($_SESSION['remote_addr'] !== $_SERVER['REMOTE_ADDR']) {
			sleep(2);
			return x2_register_result(FALSE, getErrorText("1013.05.16"));
		}
 
 
		if (empty($_SESSION["account_id"])) {
			sleep(2);
			return x2_register_result(FALSE, getErrorText("1013.05.1"));
		}
 
 
		if (!x2_validate_mail($settings["email"])) {
			// return x2_register_result(FALSE, getErrorText("1013.05.2"));
			return x2_register_result(FALSE, getErrorObject(getErrorText("1013.05.2"), array("repeatInput" => TRUE)));
		}
 
 
		$row = $this->db->row(
			"SELECT [account_id], [account_login], [account_name] FROM [st2_accounts] WHERE [account_email]=%s AND [account_id]!=%i",
			$settings["email"],
			$_SESSION["account_id"]
		);
 
 
		if ($row) {
			// return x2_register_result(FALSE, getErrorText("1013.05.7"));
			return x2_register_result(FALSE, getErrorObject(getErrorText("1013.05.7"), array("repeatInput" => TRUE)));
		}
 
 
		# ...

 
		return x2_register_result(TRUE);
	}
 
}
?>
dev/omega/php/files-structure.txt · Posledná úprava: 2014/11/18 10:19 od Roman Sališ