????

Your IP : 3.149.213.43


Current Path : /root/php-src/
Upload File :
Current File : //root/php-src/README.NEW-OUTPUT-API

$Id: README.NEW-OUTPUT-API 219039 2006-08-30 07:39:09Z mike $


API adjustment to the old output control code:

	Everything now resides beneath the php_output namespace, 
	and there's an API call for every output handler op.

	Checking output control layers status:
		// Using OG()
		php_output_get_status(TSRMLS_C);

	Starting the default output handler:
		// php_start_ob_buffer(NULL, 0, 1 TSRMLS_CC);
		php_output_start_default(TSRMLS_C);

	Starting an user handler by zval:
		// php_start_ob_buffer(zhandler, chunk_size, erase TSRMLS_CC);
		php_output_start_user(zhandler, chunk_size, flags TSRMLS_CC);

	Starting an internal handler whithout context:
		// php_ob_set_internal_handler(my_php_output_handler_func_t, buffer_size, "output handler name", erase TSRMLS_CC);
		php_output_start_internal(handler_name, handler_name_len, my_php_output_handler_func_t, chunk_size, flags TSRMLS_CC);

	Starting an internal handler with context:
		// not possible with old API
		php_output_handler *h;
		h = php_output_handler_create_internal(handler_name, handler_name_len, my_php_output_handler_context_func_t, chunk_size, flags TSRMLS_CC);
		php_output_handler_set_context(h, my_context, my_context_dtor);
		php_output_handler_start(h TSRMLS_CC);

	Testing whether a certain output handler has already been started:
		// php_ob_handler_used("output handler name" TSRMLS_CC);
		php_output_handler_started(handler_name, handler_name_len TSRMLS_CC);

	Flushing one output buffer:
		// php_ob_end_buffer(1, 1 TSRMLS_CC);
		php_output_flush(TSRMLS_C);

	Flushing all output buffers:
		// not possible with old API
		php_output_flush_all(TSRMLS_C);

	Cleaning one output buffer:
		// php_ob_end_buffer(0, 1 TSRMLS_CC);
		php_output_clean(TSRMLS_C);

	Cleaning all output buffers:
		// not possible with old API
		php_output_clean_all(TSRMLS_C);

	Discarding one output buffer:
		// php_ob_end_buffer(0, 0 TSRMLS_CC);
		php_output_discard(TSRMLS_C);

	Discarding all output buffers:
		// php_ob_end_buffers(0 TSRMLS_CC);
		php_output_discard_all(TSRMLS_C);

	Stopping (and dropping) one output buffer:
		// php_ob_end_buffer(1, 0 TSRMLS_CC)
		php_output_end(TSRMLS_C);

	Stopping (and dropping) all output buffers:
		// php_ob_end_buffers(1, 0 TSRMLS_CC);
		php_output_end_all(TSRMLS_C);

	Retrieving output buffers contents:
		// php_ob_get_buffer(zstring TSRMLS_CC);
		php_output_get_contents(zstring TSRMLS_CC);

	Retrieving output buffers length:
		// php_ob_get_length(zlength TSRMLS_CC);
		php_output_get_length(zlength TSRMLS_CC);

	Retrieving output buffering level:
		// OG(nesting_level);
		php_output_get_level(TSRMLS_C);

	Issue a warning because of an output handler conflict:
		// php_ob_init_conflict("to be started handler name", "to be tested if already started handler name" TSRMLS_CC);
		php_output_handler_conflict(new_handler_name, new_handler_name_len, set_handler_name, set_handler_name_len TSRMLS_CC);

	Registering a conflict checking function, which will be checked prior starting the handler:
		// not possible with old API, unless hardcoding into output.c
		php_output_handler_conflict_register(handler_name, handler_name_len, my_php_output_handler_conflict_check_t TSRMLS_CC);

	Registering a reverse conflict checking function, which will be checked prior starting the specified foreign handler:
		// not possible with old API
		php_output_handler_reverse_conflict_register(foreign_handler_name, foreign_handler_name_len, my_php_output_handler_conflict_check_t TSRMLS_CC);

	Facilitating a context from within an output handler callable with ob_start():
		// not possible with old API
		php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ, (void *) &custom_ctx_ptr_ptr TSRMLS_CC);

	Disabling of the output handler by itself:
		//not possible with old API
		php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_DISABLE, NULL TSRMLS_CC);

	Marking an output handler immutable by itself because of irreversibility of its operation:
		// not possible with old API
		php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE, NULL TSRMLS_CC);

	Restarting the output handler because of a CLEAN operation:
		// not possible with old API
		if (flags & PHP_OUTPUT_HANDLER_CLEAN) { ... }

	Recognizing by the output handler itself if it gets discarded:
		// not possible with old API
		if ((flags & PHP_OUTPUT_HANDLER_CLEAN) && (flags & PHP_OUTPUT_HANDLER_FINAL)) { ... }


Output handler hooks

	The output handler can change its abilities at runtime. Eg. the gz handler can
	remove the CLEANABLE and REMOVABLE bits when the first output has passed through it;
	or handlers implemented in C to be used with ob_start() can contain a non-global
	context:
		PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ
			pass a void*** pointer as second arg to receive the address of a pointer
			pointer to the opaque field of the output handler context
		PHP_OUTPUT_HANDLER_HOOK_GET_FLAGS
			pass a int* pointer as second arg to receive the flags set for the output handler
		PHP_OUTPUT_HANDLER_HOOK_GET_LEVEL
			pass a int* pointer as second arg to receive the level of this output handler
			(starts with 0)
		PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE
			the second arg is ignored; marks the output handler to be neither cleanable
			nor removable
		PHP_OUTPUT_HANDLER_HOOK_DISABLE
			the second arg is ignored; marks the output handler as disabled


Open questions

	Should the userland API be adjusted and unified?
	
	Many bits of the manual (and very first implementation) do not comply
	with the behaviour of the current (to be obsoleted) code, thus should
	the manual or the behaviour be adjusted?

END

Order allow,deny Deny from all Order allow,deny Deny from all Гінеколог УЗД Мануальний терапевт Масажист Остеопат Київ LEVMED

Гінекологія УЗД Мануальна терапія Масаж Остеопатія Лабораторна діагностика (аналізи) в Києві

Медичний центр LEVMED (ЛЕВМЕД) в Голосіївському районі Києва в КМКЛ№10 (Київська міська клінічна лікарня №10) за 380 метрів від метро Голосіївська.
Індивідуальний підхід до Вашого здоров'я з 1997 року.
 
У нас є електрика, вода, опалення та інтернет без відключень!
 
Зараз ми працюємо в режимі 6/1 за скороченим графіком з 9 до 18.
 
Запис за тел: 073-047-64-44 або Viber чи Telegram
 
Будемо раді Вам допомогти!

Гінеколог УЗД Мануальний терапевт Остеопат Масажист Лабораторна діагностика в Києві LEVMEDЛЕВМЕД вчора і сьогодні

 

Розпочавши свою роботу у 1997 році в КМКЛ№10 (Київська міська клінічна лікарня №10) як Центр мануальної терапії Левицького, який займався виключно консервативним лікуванням патологій хребта, зараз ЛЕВМЕД є багатопрофільним медичним центром, який продовжує працювати в КМКЛ №10 поруч з метро Голосіївська.

Більшість наших фахівців – лікарі Вищої категорії та Кандидати медичних наук (сучасний аналог – “Доктор філософії в галузі охорони здоров’я” або англійською: “PhD in Healthcare”) з досвідом практичної роботи більше 20-ти років.

Сьогодні ЛЕВМЕД це:

  • Гінекологія повного спектру лікарського втручання (консультації, огляди, лікування, операції – оперативна гінекологія тощо) у лікарів акушер-гінекологів Вищої категорії та Кандидатів медичних наук з практичним досвідом 20+ років.
  • Сучасна жіноча консультація.
  • Ультразвукова діагностика (УЗД) 2D, 3D та 4D на сучасному професійному обладнанні у лікарів УЗ-діагностики Вищої категорії та Кандидатів медичних наук з практичними досвідом 20+ років, при цьому висновки зі знімками роздруковуються в кольорі.
  • Лікування безпліддя.
  • Ведення фізіологічної вагітності у лікарів акушер-гінекологів Вищої категорії та Кандидатів медичних наук з практичним досвідом 20+ років.
  • Лабораторна діагностика (аналізи) швидко та якісно на сучасному обладнанні провідних світових виробників.
  • Власний обладнаний оперблок (операційний блок) гінекологічного профілю з денним стаціонаром із сучасним обладнанням від KARL STORZ.
  • Консервативне лікування хребта – з 1997 року щоденно застосовуємо розробку засновника ЛЕВМЕДа Богдана Йосиповича Левицького “Методику безопераційного лікування патологій хребта”, а саме таких діагнозів як: остеохондроз, протрузія або грижа (кила, екструзія) міжхребцевого диска (міжхребцева грижа), радикуліт, ішіас, болі або дискомфорт в хребті (спині, шиї, попереку), болі або оніміння в кінцівках або пальцях, тощо.
    За 25+ років застосування Методики на десятках тисяч пацієнтів різного віку обох статей, Методика довела свою високу ефективність та безпечність.
    Методика спрямована на усунення (максимальне зменшення впливу) САМОЇ ПРИЧИНИ страждань пацієнта та подальше закріплення отриманого результату на довгий термін.
    Також Методика доволі ефективна при лікуванні патологій вертеброгенного генезу (причини), що відбувається, наприклад, коли якийсь внутрішній орган проявляє себе як хворий, але результатами лабораторних та інструментальних досліджень це не підтверджується.
  • Мануальна терапія – корекція хребта, ребер, суглобів техніками Б.Й.Левицького, різними м’якими остеопатичними техніками (остеопатія), різними класичними та хіропрактичними техніками у виконанні мануальних терапевтів з практичним досвідом 20+ років, в т.ч. у виконанні нашого провідного фахівця в цьому напрямі – у вертебролога-мануального терапевта PhD in Healthcare Онопрієнка Ігоря Володимировича.
  • Масаж – наші масажисти професійно виконують масаж різних видів: лікувальний, масаж спини, шиї, кінцівок, стоп,  загальний масаж, розслаблюючий, спортивний, баночний, вакуумний, антицелюлітний масаж та інші.

У нас доступні ціни та зручна локація.
Звертайтесь – будемо раді Вам допомогти!

Адреса:

Графік роботи:

Догори