### Install Nette Utils via Composer Source: https://github.com/nette/utils/blob/master/readme.md The recommended method for installing the Nette Utils package is through Composer, a dependency manager for PHP. This command fetches and installs the latest stable version of the library. ```bash composer require nette/utils ``` -------------------------------- ### Working with Filesystem Paths Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder2/[x]/file.txt Shows how to use Nette\Utils\FileSystem for common filesystem operations like creating directories, copying files, and deleting directories recursively. ```php getMessage() . "\n"; } ?> ``` -------------------------------- ### Working with Filesystem Paths Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder2/x/file.txt Shows how to use Nette\Utils\FileSystem for common filesystem operations like creating directories, copying files, and deleting directories recursively. ```php getMessage() . "\n"; } ?> ``` -------------------------------- ### Working with Filesystem Paths Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder/subdir/subdir2/file.txt Shows how to use Nette\Utils\FileSystem for common filesystem operations like creating directories, copying files, and deleting directories recursively. ```php getMessage() . "\n"; } ?> ``` -------------------------------- ### String Manipulation with Strings Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder/subdir/subdir2/file.txt Illustrates various string manipulation functions provided by Nette\Utils\Strings, such as case conversion, substring extraction, and random string generation. ```php 'Utils']) . "\n"; ?> ``` -------------------------------- ### Working with Arrays and Collections Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder/subdir/subdir2/file.txt Demonstrates the utility of Nette\Utils\Arrays for manipulating arrays, including sorting, searching, and transforming array data. ```php 1, 'name' => 'Alice'], ['id' => 3, 'name' => 'Charlie'], ['id' => 2, 'name' => 'Bob'], ]; // Sort array by 'id' $sortedById = Arrays::sortBy($data, 'id'); print_r($sortedById); // Sort array by 'name' $sortedByName = Arrays::sortBy($data, 'name'); print_r($sortedByName); // Find an item by 'id' $foundItem = Arrays::find($data, function($item) { return $item['id'] === 2; }); print_r($foundItem); // Get values of a specific key $names = Arrays::fetch($data, 'name'); print_r($names); // Check if an array is associative $indexedArray = [0 => 'a', 1 => 'b']; $associativeArray = ['key1' => 'a', 'key2' => 'b']; if (Arrays::isList($indexedArray)) { echo "$indexedArray is a list.\n"; } if (!Arrays::isList($associativeArray)) { echo "$associativeArray is associative.\n"; } ?> ``` -------------------------------- ### String Manipulation with Strings Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder2/[x]/file.txt Illustrates various string manipulation functions provided by Nette\Utils\Strings, such as case conversion, substring extraction, and random string generation. ```php 'Utils']) . "\n"; ?> ``` -------------------------------- ### String Manipulation with Strings Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder2/x/file.txt Illustrates various string manipulation functions provided by Nette\Utils\Strings, such as case conversion, substring extraction, and random string generation. ```php 'Utils']) . "\n"; ?> ``` -------------------------------- ### Working with Arrays and Collections Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder2/[x]/file.txt Demonstrates the utility of Nette\Utils\Arrays for manipulating arrays, including sorting, searching, and transforming array data. ```php 1, 'name' => 'Alice'], ['id' => 3, 'name' => 'Charlie'], ['id' => 2, 'name' => 'Bob'], ]; // Sort array by 'id' $sortedById = Arrays::sortBy($data, 'id'); print_r($sortedById); // Sort array by 'name' $sortedByName = Arrays::sortBy($data, 'name'); print_r($sortedByName); // Find an item by 'id' $foundItem = Arrays::find($data, function($item) { return $item['id'] === 2; }); print_r($foundItem); // Get values of a specific key $names = Arrays::fetch($data, 'name'); print_r($names); // Check if an array is associative $indexedArray = [0 => 'a', 1 => 'b']; $associativeArray = ['key1' => 'a', 'key2' => 'b']; if (Arrays::isList($indexedArray)) { echo "$indexedArray is a list.\n"; } if (!Arrays::isList($associativeArray)) { echo "$associativeArray is associative.\n"; } ?> ``` -------------------------------- ### Data Filtering and Validation Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder/subdir/subdir2/file.txt Demonstrates how to use NetteUtilsFilterFilterInput and NetteUtilsValidator for sanitizing and validating user input. It covers common validation rules and custom callbacks. ```php ' John Doe ', 'age' => '30', 'email' => 'john.doe@example.com', 'status' => 'active', 'invalid_field' => 'some_value' ]; // Define filters and validators $filters = [ 'name' => FilterInput::TRIM | FilterInput::STRING, 'age' => FilterInput::INT, 'email' => FilterInput::EMAIL, 'status' => function($value) { return in_array($value, ['active', 'inactive']) ? $value : null; } ]; // Apply filters $filteredData = FilterInput::filter($data, $filters); // Validate data $validationRules = [ 'name' => Validator::REQUIRED, 'age' => Validator::INTEGER | Validator::GREATER_THAN => 0, 'email' => Validator::EMAIL, 'status' => Validator::CALLBACK => function($value) { return $value !== null; } ]; $isValid = Validator::validate($filteredData, $validationRules); if ($isValid) { echo "Data is valid and filtered.\n"; print_r($filteredData); } else { echo "Data validation failed.\n"; // You can get validation errors using Validator::getErrors() } ?> ``` -------------------------------- ### Working with Arrays and Collections Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder2/x/file.txt Demonstrates the utility of Nette\Utils\Arrays for manipulating arrays, including sorting, searching, and transforming array data. ```php 1, 'name' => 'Alice'], ['id' => 3, 'name' => 'Charlie'], ['id' => 2, 'name' => 'Bob'], ]; // Sort array by 'id' $sortedById = Arrays::sortBy($data, 'id'); print_r($sortedById); // Sort array by 'name' $sortedByName = Arrays::sortBy($data, 'name'); print_r($sortedByName); // Find an item by 'id' $foundItem = Arrays::find($data, function($item) { return $item['id'] === 2; }); print_r($foundItem); // Get values of a specific key $names = Arrays::fetch($data, 'name'); print_r($names); // Check if an array is associative $indexedArray = [0 => 'a', 1 => 'b']; $associativeArray = ['key1' => 'a', 'key2' => 'b']; if (Arrays::isList($indexedArray)) { echo "$indexedArray is a list.\n"; } if (!Arrays::isList($associativeArray)) { echo "$associativeArray is associative.\n"; } ?> ``` -------------------------------- ### Data Filtering and Validation Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder2/[x]/file.txt Demonstrates how to use NetteUtilsFilterFilterInput and NetteUtilsValidator for sanitizing and validating user input. It covers common validation rules and custom callbacks. ```php ' John Doe ', 'age' => '30', 'email' => 'john.doe@example.com', 'status' => 'active', 'invalid_field' => 'some_value' ]; // Define filters and validators $filters = [ 'name' => FilterInput::TRIM | FilterInput::STRING, 'age' => FilterInput::INT, 'email' => FilterInput::EMAIL, 'status' => function($value) { return in_array($value, ['active', 'inactive']) ? $value : null; } ]; // Apply filters $filteredData = FilterInput::filter($data, $filters); // Validate data $validationRules = [ 'name' => Validator::REQUIRED, 'age' => Validator::INTEGER | Validator::GREATER_THAN => 0, 'email' => Validator::EMAIL, 'status' => Validator::CALLBACK => function($value) { return $value !== null; } ]; $isValid = Validator::validate($filteredData, $validationRules); if ($isValid) { echo "Data is valid and filtered.\n"; print_r($filteredData); } else { echo "Data validation failed.\n"; // You can get validation errors using Validator::getErrors() } ?> ``` -------------------------------- ### Data Filtering and Validation Source: https://github.com/nette/utils/blob/master/tests/Utils/fixtures.finder2/x/file.txt Demonstrates how to use NetteUtilsFilterFilterInput and NetteUtilsValidator for sanitizing and validating user input. It covers common validation rules and custom callbacks. ```php ' John Doe ', 'age' => '30', 'email' => 'john.doe@example.com', 'status' => 'active', 'invalid_field' => 'some_value' ]; // Define filters and validators $filters = [ 'name' => FilterInput::TRIM | FilterInput::STRING, 'age' => FilterInput::INT, 'email' => FilterInput::EMAIL, 'status' => function($value) { return in_array($value, ['active', 'inactive']) ? $value : null; } ]; // Apply filters $filteredData = FilterInput::filter($data, $filters); // Validate data $validationRules = [ 'name' => Validator::REQUIRED, 'age' => Validator::INTEGER | Validator::GREATER_THAN => 0, 'email' => Validator::EMAIL, 'status' => Validator::CALLBACK => function($value) { return $value !== null; } ]; $isValid = Validator::validate($filteredData, $validationRules); if ($isValid) { echo "Data is valid and filtered.\n"; print_r($filteredData); } else { echo "Data validation failed.\n"; // You can get validation errors using Validator::getErrors() } ?> ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.