Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 668

Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-theme.php on line 544

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-includes/comment-template.php on line 1745

Deprecated: wp_getimagesize(): Implicitly marking parameter $image_info as nullable is deprecated, the explicit nullable type must be used instead in /home/inovacao/public_html/yeapf.com/wp/wp-includes/media.php on line 5072

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php on line 199

Deprecated: Jetpack::setup_xmlrpc_handlers(): Implicitly marking parameter $xmlrpc_server as nullable is deprecated, the explicit nullable type must be used instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/class.jetpack.php on line 934

Deprecated: Automattic\Jetpack\Connection\Manager::setup_xmlrpc_handlers(): Implicitly marking parameter $xmlrpc_server as nullable is deprecated, the explicit nullable type must be used instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/vendor/automattic/jetpack-connection/src/class-manager.php on line 123

Deprecated: Creation of dynamic property Automattic\Jetpack\Connection\Manager::$error_handler is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/vendor/automattic/jetpack-connection/src/class-manager.php on line 93

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Instagram_Gallery::$is_wpcom is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-instagram-gallery.php on line 23

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Mailchimp::$wpcom_is_wpcom_only_endpoint is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-mailchimp.php on line 17

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Tweetstorm_Gather::$wpcom_is_wpcom_only_endpoint is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-tweetstorm-gather.php on line 21

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Tweetstorm_Gather::$is_wpcom is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-tweetstorm-gather.php on line 22

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Gutenberg_Available_Extensions::$wpcom_is_site_specific_endpoint is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/gutenberg-available-extensions.php on line 20

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Memberships::$wpcom_is_wpcom_only_endpoint is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php on line 23

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Memberships::$wpcom_is_site_specific_endpoint is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php on line 24

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Subscribers::$wpcom_is_wpcom_only_endpoint is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/subscribers.php on line 15

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/extensions/blocks/podcast-player/podcast-player.php on line 160

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/extensions/blocks/podcast-player/podcast-player.php on line 160

Deprecated: Creation of dynamic property POMO_FileReader::$is_overloaded is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/pomo/streams.php on line 26

Deprecated: Creation of dynamic property POMO_FileReader::$_pos is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/pomo/streams.php on line 29

Deprecated: Creation of dynamic property POMO_FileReader::$_f is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/pomo/streams.php on line 160

Deprecated: Creation of dynamic property MO::$_gettext_select_plural_form is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/pomo/translations.php on line 293

Deprecated: Creation of dynamic property Automattic\Jetpack\Sync\Queue::$random_int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/vendor/automattic/jetpack-sync/src/class-queue.php on line 38

Deprecated: Creation of dynamic property Automattic\Jetpack\Sync\Queue::$random_int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/vendor/automattic/jetpack-sync/src/class-queue.php on line 38

Deprecated: Creation of dynamic property Publicize_UI::$in_jetpack is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/publicize.php on line 53

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/widgets/migrate-to-core/image-widget.php on line 195

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/widgets/migrate-to-core/gallery-widget.php on line 56

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/calypsoify/class-jetpack-calypsoify.php on line 130

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/calypsoify/class-jetpack-calypsoify.php on line 131

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/calypsoify/class-jetpack-calypsoify.php on line 135

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/calypsoify/class-jetpack-calypsoify.php on line 136

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/calypsoify/class-jetpack-calypsoify.php on line 137

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 219

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 220

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 227

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 229

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 231

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 248

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 249

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 267

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 268

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 270

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 271

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 273

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/simple-payments/simple-payments.php on line 275

Deprecated: Creation of dynamic property POMO_FileReader::$is_overloaded is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/pomo/streams.php on line 26

Deprecated: Creation of dynamic property POMO_FileReader::$_pos is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/pomo/streams.php on line 29

Deprecated: Creation of dynamic property POMO_FileReader::$_f is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/pomo/streams.php on line 160

Deprecated: Creation of dynamic property MO::$_gettext_select_plural_form is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/pomo/translations.php on line 293

Deprecated: Creation of dynamic property WPCOM_Widget_Goodreads::$shelves is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/widgets/goodreads.php on line 33

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/script-loader.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$skip_inner_blocks is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-type.php on line 347

Deprecated: Creation of dynamic property Jetpack_Shortcode_Unavailable::$shortcodes is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/shortcodes/unavailable.php on line 19

Deprecated: Calling get_class() without arguments is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-http.php on line 328

Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Warning: Cannot modify header information - headers already sent by (output started at /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php:14) in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1673

Warning: Cannot modify header information - headers already sent by (output started at /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php:14) in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1673

Warning: Cannot modify header information - headers already sent by (output started at /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php:14) in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1673

Warning: Cannot modify header information - headers already sent by (output started at /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php:14) in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1673

Warning: Cannot modify header information - headers already sent by (output started at /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php:14) in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1673

Warning: Cannot modify header information - headers already sent by (output started at /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php:14) in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1673

Deprecated: Calling get_class() without arguments is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-http.php on line 328

Deprecated: http_build_query(): Passing null to parameter #2 ($numeric_prefix) of type string is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Transport/cURL.php on line 345

Deprecated: Requests_Cookie::parse_from_headers(): Implicitly marking parameter $origin as nullable is deprecated, the explicit nullable type must be used instead in /home/inovacao/public_html/yeapf.com/wp/wp-includes/Requests/Cookie.php on line 439

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 3030

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 3030

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/category.php on line 383

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 3030

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 3030

Deprecated: Creation of dynamic property Jetpack_Carousel::$localize_strings is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/carousel/jetpack-carousel.php on line 353

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/_inc/lib/class.media-summary.php on line 420

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 3030

Warning: Cannot modify header information - headers already sent by (output started at /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php:14) in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1673

Warning: Cannot modify header information - headers already sent by (output started at /home/inovacao/public_html/yeapf.com/wp/wp-includes/class-wp-block-list.php:14) in /home/inovacao/public_html/yeapf.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1673
{"id":304,"date":"2016-06-02T13:33:21","date_gmt":"2016-06-02T15:33:21","guid":{"rendered":"http:\/\/yeapf.com\/wp\/?p=304"},"modified":"2019-05-07T16:37:23","modified_gmt":"2019-05-07T18:37:23","slug":"tarefas-de-longa-duracao-utilizando-yeapf","status":"publish","type":"post","link":"http:\/\/www.yeapf.com\/wp\/?p=304","title":{"rendered":"Tarefas de longa dura\u00e7\u00e3o utilizando YeAPF"},"content":{"rendered":"

Uma das vantagens de YeAPF ser orientado \u00e0 cria\u00e7\u00e3o de aplicativos chamados apenas por API \u00e9 a uniformiza\u00e7\u00e3o da chamada. Com isso estamos dizendo que todas as chamadas s\u00e3o feitas do mesmo jeito com o que o programador pode esquecer de como inventou a roda da \u00faltima vez, j\u00e1 que vai ser sempre do mesmo jeito. Ou, um grupo de programadores pode dividir suas tarefas e alternar responsabilidades que\u00a0as pe\u00e7as v\u00e3o acabar se encaixando.<\/p>\n

Pois bem, uma outra vantagem \u00e9 o processamento de tarefas de longa dura\u00e7\u00e3o. Na realidade \u00e9 um efeito colateral positivo mais do que uma vantagem propositalmente buscada.<\/p>\n

Entendemos por “tarefa de longa dura\u00e7\u00e3o”<\/strong>, aquele processo que n\u00e3o se encaixa nos 30-60 segundos que o PHP tem por padr\u00e3o para responder a uma requisi\u00e7\u00e3o de um cliente (seja este humano ou n\u00e3o).<\/p>\n

Pense por exemplo, no que demora enviar um e-mail personalizado a cada cliente ou interessado do seu sistema on-line. Ou a gera\u00e7\u00e3o do arquivo de remessa de um lote de boletos para um banco. Nada disso cabe nos 30-60 segundos que voc\u00ea tem por padr\u00e3o e -mesmo que voc\u00ea tem a habilidade de\u00a0extorquir o PHP\u00a0para obter mais tempo- tamb\u00e9m n\u00e3o \u00e9 prudente\u00a0manter o usu\u00e1rio ocioso por mais do que 15 segundos. Ele com certeza vai clicar no bot\u00e3o de gerar remessa de novo para que “o processo v\u00e1 mais r\u00e1pido”.<\/p>\n

\u00c9\u00a0aqui que entram as tarefas de longa dura\u00e7\u00e3o.<\/p>\n

Tomemos o exemplo da gera\u00e7\u00e3o dos boletos banc\u00e1rios. Digamos que seu lote \u00e9 de 2500 boletos e cada boleto, al\u00e9m de ser gerado, ser\u00e1 enviado por e-mail para o cliente.<\/p>\n

Um primeiro evento seria o que o cliente dispara ao escolher o escopo dos seus boletos: Por exemplo: Junho\/2015, Pato Branco\/PR. O programador faia uma invoca\u00e7\u00e3o mais ou menos assim:<\/p>\n

ycomm.invoke(\r\n    \"boletos\",\r\n    \"gerarRemessa\",\r\n    { mes: \"06\/2015\", cidade: \"Pato Branco\", uf: \"PR\" },\r\n    function(status, error, data) {\r\n    }\r\n);<\/pre>\n

Por outro lado, essa invoca\u00e7\u00e3o seria processada pelo PHP\u00a0em um script muito parecido com este:<\/p>\n

function qboletos($a) {\r\n    global $userContext, $sysDate, $u,\r\n           $fieldValue, $fieldName,\r\n           $userMsg, $xq_start;\r\n\r\n    $useColNames = true;\r\n    $countLimit=20;\r\n    $ret='';\r\n\r\n    extract(xq_extractValuesFromQuery());\r\n    $xq_start=isset($xq_start)?intval($xq_start):0;\r\n\r\n    switch($a)\r\n    {\r\n      case 'gerarRemessa':\r\n        \/* instancio o gerente de tarefas do YeAPF *\/\r\n        $tarefa=new YTaskManager();\r\n\r\n        \/* monto os parametros que recebi do invoke *\/\r\n        $params=array(\r\n          'mes'=>$mes,\r\n          'cidade'=>$cidade,\r\n          'uf'=>$uf\r\n        );\r\n\r\n        \/* transformo em json *\/\r\n        $params=json_encode($params);\r\n\r\n        \/* crio a tarefa com 340 segundos de vida m\u00e1xima por intera\u00e7\u00e3o do la\u00e7o *\/\r\n        $tarefa->createNewTask(\"boletos\", \"gRemessa\", $params, 340);\r\n\r\n        \/* fa\u00e7o qualquer outra coisa que a tarefa precise antes de come\u00e7ar a rodar ela *\/\r\n        \/* ... *\/\r\n\r\n        \/* habilito a tarefa *\/\r\n        $tarefa->enableTask();\r\n\r\n        break;\r\n    }\r\n\r\n    xq_produceReturnLines($ret, $useColNames, $countLimit);\r\n  }\r\n}<\/pre>\n

Com isso nossa tarefa estaria criada. Repare que em lugar do evento “gerarRemessa” utilizei “gRemessa” mas apenas o fiz aos efeitos de que fique claro onde entra cada parte. Nada impede de utilizar “gerarRemessa” j\u00e1 que a tarefa vai entrar na fun\u00e7ao tboletos() e n\u00e3o na qboletos()<\/p>\n

Agora vamos criar o la\u00e7o da tarefa em si mesma. A recomenda\u00e7\u00e3o \u00e9 colocar no mesmo PHP que temos a qboletos() para que fique todo junto. \u00a0O la\u00e7o ficaria mais ou menos assim supondo que sua tabela se chame “boletos”<\/p>\n

  function tboletos($a)\r\n  {\r\n    global $sysDate, $ytasker, $xq_start;\r\n\r\n    \/* publico o contexto operacional como se fossem vari\u00e1veis locais:\r\n       xq_start, xq_target, j_params *\/\r\n    extract($ytasker->getTaskContext());\r\n\r\n    \/* garanto que xq_start seja um inteiro positivo *\/\r\n    $xq_start=isset($xq_start)?intval($xq_start):0;\r\n\r\n    switch($a)\r\n    {\r\n      case 'gRemessa':\r\n            $sql=\"select * from boletos where data>='$dataInicial' and data<='$dataFinal' offset $xq_start\";\r\n            $q=db_query($sql);\r\n            \/* enquanto o sistema me deixe rodar a tarefa e tenha dados da tabela... *\/\r\n            while (($ytasker->taskCanRun()) && ($d=db_fetch_array($q))) {\r\n              \/*  ... gero o boleto\r\n                   ... acrescento ele \u00e0 remessa\r\n                   ... envio e-mail *\/\r\n\r\n              \/* incremento o 'ponteiro' para a tabela *\/\r\n              $xq_start++;\r\n              \/* indico \u00e0 tarefa o novo ponto de come\u00e7o caso caia\/finalize\/seja suspensa daqui at\u00e9 a volta do la\u00e7o *\/\r\n              $ytasker->advanceTo($xq_start);\r\n            }\r\n        break;\r\n    }\r\n  }\r\n<\/pre>\n

Agora a unica coisa que falta \u00e9 chamar regularmente suas tarefas (todas elas). Isto \u00e9, fazer com que o script encarregado de tocar as tarefas seja executado regularmente. No seu crond<\/a>\u00a0local acrescente ent\u00e3o uma entrada assim para chamar ele a cada minuto:<\/p>\n

*\/1   *    *    *    *    wget http:\/\/example.com\/task.php?s=yeapf&a=tick<\/pre>\n

Pronto.<\/p>\n

Caso esteja utilizando Windows, o lance \u00e9 o mesmo utilizando o gerenciador de tarefas agendadas dele. Apenas instale wget.<\/p>\n

J\u00e1 se estiver usando o cron do pr\u00f3prio hospedeiro, pode utilizar o yeapf_tick.php assim:<\/p>\n

*\/1   *    *    *    *    \/usr\/bin\/php yeapf_ticker.php<\/pre>\n

 <\/p>\n

 <\/p>\n

 <\/p>\n","protected":false},"excerpt":{"rendered":"

Uma das vantagens de YeAPF ser orientado \u00e0 cria\u00e7\u00e3o de aplicativos chamados apenas por API \u00e9 a uniformiza\u00e7\u00e3o da chamada. Com isso estamos dizendo que todas as chamadas s\u00e3o feitas do mesmo jeito com o que o programador pode esquecer de como inventou a roda da \u00faltima vez, j\u00e1 que vai ser sempre do mesmo […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[49,8],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5O6UV-4U","jetpack-related-posts":[{"id":454,"url":"http:\/\/www.yeapf.com\/wp\/?p=454","url_meta":{"origin":304,"position":0},"title":"Node + Electron + YeAPF","date":"agosto 3, 2018","format":false,"excerpt":"Saladas s\u00e3o boas. Por isso o t\u00edtulo mistura tr\u00eas coisas que j\u00e1 sozinhas s\u00e3o boas. O node te permite escrever aplicativos do lado do servidor ou do cliente usando a mesma linguagem: JavaScript. Neste vamos usa-lo para criar um aplicativo do lado cliente com t\u00e9cnicas de web (HTML5, CSS3 e\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"https:\/\/i2.wp.com\/www.yeapf.com\/wp\/wp-content\/uploads\/2018\/08\/Mixed-Green-Salad-with-Eggs-3-930x543.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":288,"url":"http:\/\/www.yeapf.com\/wp\/?p=288","url_meta":{"origin":304,"position":1},"title":"Um ambiente de desenvolvimento YeAPF usando Windows","date":"mar\u00e7o 28, 2016","format":false,"excerpt":"Quase que todas as vezes que postamos alguma coisa o fazemos tomando como base uma instala\u00e7\u00e3o Linux. Por\u00e9m, na medida em que alguns novos usu\u00e1rios est\u00e3o ainda usando Windows, se torna necess\u00e1rio um pequeno roteiro para facilitar a vida. Escrevemos estas linhas tomando como base uma instala\u00e7\u00e3o sobre XP (Obvio\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":455,"url":"http:\/\/www.yeapf.com\/wp\/?p=455","url_meta":{"origin":304,"position":2},"title":"Como instalar YeAPF?","date":"agosto 3, 2018","format":false,"excerpt":"Voc\u00ea n\u00e3o precisa instalar YeAPF. O que sim \u00e9 bom ter instalado s\u00e3o as ferramentas dele. Mas antes disso, \u00e9 bom deixar claro como funciona ele sem instalar. A todos os efeitos, vamos supor que voc\u00ea fez download da \u00faltima vers\u00e3o do YeAPF e o colocou na pasta ~\/Downloads\/YeAPF\/ e\u2026","rel":"","context":"Em "Yet Another PHP Framework"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":272,"url":"http:\/\/www.yeapf.com\/wp\/?p=272","url_meta":{"origin":304,"position":3},"title":"Adicionando \u00edcone de espera em aplicativos YeAPF","date":"janeiro 27, 2016","format":false,"excerpt":"A vantagem de usar uma plataforma unificada para suas requisi\u00e7\u00f5es XMLHttpRequest e RESTful \u00e9 que voc\u00ea acaba podendo unificar tamb\u00e9m sua interface com o usu\u00e1rio. Muitas vezes seu servidor demora para responder e um belo \u00edcone de de espera suaviza as coisas com o usu\u00e1rio. Todavia, fazer isso em cada\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":351,"url":"http:\/\/www.yeapf.com\/wp\/?p=351","url_meta":{"origin":304,"position":4},"title":"Abreviando nomes com o YeAPF","date":"abril 21, 2017","format":false,"excerpt":"\u00c0s vezes ao montar uma tabela com dados, \u00e9 necess\u00e1rio cortar a largura das colunas para que toda a informa\u00e7\u00e3o caiba. Todavia, nem sempre isso resolve o problema de mostrar a informa\u00e7\u00e3o de forma consistente. \u00a0Pense no caso de ter varias pessoas com o mesmo nome inicial. Apenas cortar n\u00e3o\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":39,"url":"http:\/\/www.yeapf.com\/wp\/?p=39","url_meta":{"origin":304,"position":5},"title":"Ajax com YeAPF","date":"mar\u00e7o 3, 2014","format":false,"excerpt":"Pretendo deixar cada uma das postagens o mais simples poss\u00edvel.\u00a0 Mas, n\u00e3o \u00e9 poss\u00edvel proceder com este se antes voc\u00ea n\u00e3o instalou e configurou seu ambiente de desenvolvimento e o YeAPF.\u00a0 Este post (http:\/\/inovacaosistemas.com.br\/wp\/?p=25) lhe pode ajudar a fazer isso, caso n\u00e3o o tenha feito ainda. Introdu\u00e7\u00e3o Nos prim\u00f3rdios da\u2026","rel":"","context":"Post similar","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/304"}],"collection":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=304"}],"version-history":[{"count":5,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/304\/revisions"}],"predecessor-version":[{"id":309,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/304\/revisions\/309"}],"wp:attachment":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}