package updates

This commit is contained in:
2018-12-19 23:27:43 -06:00
parent aa1da4d4fb
commit 1ffd21369f
1181 changed files with 51194 additions and 11046 deletions

990
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -716,6 +716,7 @@ return array(
'GuzzleHttp\\Psr7\\PumpStream' => $vendorDir . '/guzzlehttp/psr7/src/PumpStream.php',
'GuzzleHttp\\Psr7\\Request' => $vendorDir . '/guzzlehttp/psr7/src/Request.php',
'GuzzleHttp\\Psr7\\Response' => $vendorDir . '/guzzlehttp/psr7/src/Response.php',
'GuzzleHttp\\Psr7\\Rfc7230' => $vendorDir . '/guzzlehttp/psr7/src/Rfc7230.php',
'GuzzleHttp\\Psr7\\ServerRequest' => $vendorDir . '/guzzlehttp/psr7/src/ServerRequest.php',
'GuzzleHttp\\Psr7\\Stream' => $vendorDir . '/guzzlehttp/psr7/src/Stream.php',
'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => $vendorDir . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php',
@@ -797,6 +798,20 @@ return array(
'Hamcrest\\Type\\IsString' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsString.php',
'Hamcrest\\Util' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Util.php',
'Hamcrest\\Xml\\HasXPath' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Xml/HasXPath.php',
'Http\\Adapter\\Guzzle6\\Client' => $vendorDir . '/php-http/guzzle6-adapter/src/Client.php',
'Http\\Adapter\\Guzzle6\\Promise' => $vendorDir . '/php-http/guzzle6-adapter/src/Promise.php',
'Http\\Client\\Exception' => $vendorDir . '/php-http/httplug/src/Exception.php',
'Http\\Client\\Exception\\HttpException' => $vendorDir . '/php-http/httplug/src/Exception/HttpException.php',
'Http\\Client\\Exception\\NetworkException' => $vendorDir . '/php-http/httplug/src/Exception/NetworkException.php',
'Http\\Client\\Exception\\RequestException' => $vendorDir . '/php-http/httplug/src/Exception/RequestException.php',
'Http\\Client\\Exception\\TransferException' => $vendorDir . '/php-http/httplug/src/Exception/TransferException.php',
'Http\\Client\\HttpAsyncClient' => $vendorDir . '/php-http/httplug/src/HttpAsyncClient.php',
'Http\\Client\\HttpClient' => $vendorDir . '/php-http/httplug/src/HttpClient.php',
'Http\\Client\\Promise\\HttpFulfilledPromise' => $vendorDir . '/php-http/httplug/src/Promise/HttpFulfilledPromise.php',
'Http\\Client\\Promise\\HttpRejectedPromise' => $vendorDir . '/php-http/httplug/src/Promise/HttpRejectedPromise.php',
'Http\\Promise\\FulfilledPromise' => $vendorDir . '/php-http/promise/src/FulfilledPromise.php',
'Http\\Promise\\Promise' => $vendorDir . '/php-http/promise/src/Promise.php',
'Http\\Promise\\RejectedPromise' => $vendorDir . '/php-http/promise/src/RejectedPromise.php',
'Illuminate\\Auth\\Access\\AuthorizationException' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Access/AuthorizationException.php',
'Illuminate\\Auth\\Access\\Gate' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Access/Gate.php',
'Illuminate\\Auth\\Access\\HandlesAuthorization' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Access/HandlesAuthorization.php',
@@ -1318,8 +1333,8 @@ return array(
'Illuminate\\Notifications\\Channels\\BroadcastChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Channels/BroadcastChannel.php',
'Illuminate\\Notifications\\Channels\\DatabaseChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Channels/DatabaseChannel.php',
'Illuminate\\Notifications\\Channels\\MailChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php',
'Illuminate\\Notifications\\Channels\\NexmoSmsChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Channels/NexmoSmsChannel.php',
'Illuminate\\Notifications\\Channels\\SlackWebhookChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Channels/SlackWebhookChannel.php',
'Illuminate\\Notifications\\Channels\\NexmoSmsChannel' => $vendorDir . '/laravel/nexmo-notification-channel/src/Channels/NexmoSmsChannel.php',
'Illuminate\\Notifications\\Channels\\SlackWebhookChannel' => $vendorDir . '/laravel/slack-notification-channel/src/Channels/SlackWebhookChannel.php',
'Illuminate\\Notifications\\Console\\NotificationTableCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Console/NotificationTableCommand.php',
'Illuminate\\Notifications\\DatabaseNotification' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/DatabaseNotification.php',
'Illuminate\\Notifications\\DatabaseNotificationCollection' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/DatabaseNotificationCollection.php',
@@ -1331,17 +1346,19 @@ return array(
'Illuminate\\Notifications\\Messages\\BroadcastMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/BroadcastMessage.php',
'Illuminate\\Notifications\\Messages\\DatabaseMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/DatabaseMessage.php',
'Illuminate\\Notifications\\Messages\\MailMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/MailMessage.php',
'Illuminate\\Notifications\\Messages\\NexmoMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/NexmoMessage.php',
'Illuminate\\Notifications\\Messages\\NexmoMessage' => $vendorDir . '/laravel/nexmo-notification-channel/src/Messages/NexmoMessage.php',
'Illuminate\\Notifications\\Messages\\SimpleMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/SimpleMessage.php',
'Illuminate\\Notifications\\Messages\\SlackAttachment' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/SlackAttachment.php',
'Illuminate\\Notifications\\Messages\\SlackAttachmentField' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/SlackAttachmentField.php',
'Illuminate\\Notifications\\Messages\\SlackMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/SlackMessage.php',
'Illuminate\\Notifications\\Messages\\SlackAttachment' => $vendorDir . '/laravel/slack-notification-channel/src/Messages/SlackAttachment.php',
'Illuminate\\Notifications\\Messages\\SlackAttachmentField' => $vendorDir . '/laravel/slack-notification-channel/src/Messages/SlackAttachmentField.php',
'Illuminate\\Notifications\\Messages\\SlackMessage' => $vendorDir . '/laravel/slack-notification-channel/src/Messages/SlackMessage.php',
'Illuminate\\Notifications\\NexmoChannelServiceProvider' => $vendorDir . '/laravel/nexmo-notification-channel/src/NexmoChannelServiceProvider.php',
'Illuminate\\Notifications\\Notifiable' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Notifiable.php',
'Illuminate\\Notifications\\Notification' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Notification.php',
'Illuminate\\Notifications\\NotificationSender' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/NotificationSender.php',
'Illuminate\\Notifications\\NotificationServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/NotificationServiceProvider.php',
'Illuminate\\Notifications\\RoutesNotifications' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php',
'Illuminate\\Notifications\\SendQueuedNotifications' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php',
'Illuminate\\Notifications\\SlackChannelServiceProvider' => $vendorDir . '/laravel/slack-notification-channel/src/SlackChannelServiceProvider.php',
'Illuminate\\Pagination\\AbstractPaginator' => $vendorDir . '/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php',
'Illuminate\\Pagination\\LengthAwarePaginator' => $vendorDir . '/laravel/framework/src/Illuminate/Pagination/LengthAwarePaginator.php',
'Illuminate\\Pagination\\PaginationServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php',
@@ -1605,7 +1622,7 @@ return array(
'Illuminate\\View\\ViewServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/View/ViewServiceProvider.php',
'JakubOnderka\\PhpConsoleColor\\ConsoleColor' => $vendorDir . '/jakub-onderka/php-console-color/src/ConsoleColor.php',
'JakubOnderka\\PhpConsoleColor\\InvalidStyleException' => $vendorDir . '/jakub-onderka/php-console-color/src/InvalidStyleException.php',
'JakubOnderka\\PhpConsoleHighlighter\\Highlighter' => $vendorDir . '/jakub-onderka/php-console-highlighter/src/JakubOnderka/PhpConsoleHighlighter/Highlighter.php',
'JakubOnderka\\PhpConsoleHighlighter\\Highlighter' => $vendorDir . '/jakub-onderka/php-console-highlighter/src/Highlighter.php',
'JsonSerializable' => $vendorDir . '/nesbot/carbon/src/JsonSerializable.php',
'Laravel\\Socialite\\AbstractUser' => $vendorDir . '/laravel/socialite/src/AbstractUser.php',
'Laravel\\Socialite\\Contracts\\Factory' => $vendorDir . '/laravel/socialite/src/Contracts/Factory.php',
@@ -1621,6 +1638,7 @@ return array(
'Laravel\\Socialite\\Two\\BitbucketProvider' => $vendorDir . '/laravel/socialite/src/Two/BitbucketProvider.php',
'Laravel\\Socialite\\Two\\FacebookProvider' => $vendorDir . '/laravel/socialite/src/Two/FacebookProvider.php',
'Laravel\\Socialite\\Two\\GithubProvider' => $vendorDir . '/laravel/socialite/src/Two/GithubProvider.php',
'Laravel\\Socialite\\Two\\GitlabProvider' => $vendorDir . '/laravel/socialite/src/Two/GitlabProvider.php',
'Laravel\\Socialite\\Two\\GoogleProvider' => $vendorDir . '/laravel/socialite/src/Two/GoogleProvider.php',
'Laravel\\Socialite\\Two\\InvalidStateException' => $vendorDir . '/laravel/socialite/src/Two/InvalidStateException.php',
'Laravel\\Socialite\\Two\\LinkedInProvider' => $vendorDir . '/laravel/socialite/src/Two/LinkedInProvider.php',
@@ -1630,6 +1648,37 @@ return array(
'Laravel\\Tinker\\Console\\TinkerCommand' => $vendorDir . '/laravel/tinker/src/Console/TinkerCommand.php',
'Laravel\\Tinker\\TinkerCaster' => $vendorDir . '/laravel/tinker/src/TinkerCaster.php',
'Laravel\\Tinker\\TinkerServiceProvider' => $vendorDir . '/laravel/tinker/src/TinkerServiceProvider.php',
'Lcobucci\\JWT\\Builder' => $vendorDir . '/lcobucci/jwt/src/Builder.php',
'Lcobucci\\JWT\\Claim' => $vendorDir . '/lcobucci/jwt/src/Claim.php',
'Lcobucci\\JWT\\Claim\\Basic' => $vendorDir . '/lcobucci/jwt/src/Claim/Basic.php',
'Lcobucci\\JWT\\Claim\\EqualsTo' => $vendorDir . '/lcobucci/jwt/src/Claim/EqualsTo.php',
'Lcobucci\\JWT\\Claim\\Factory' => $vendorDir . '/lcobucci/jwt/src/Claim/Factory.php',
'Lcobucci\\JWT\\Claim\\GreaterOrEqualsTo' => $vendorDir . '/lcobucci/jwt/src/Claim/GreaterOrEqualsTo.php',
'Lcobucci\\JWT\\Claim\\LesserOrEqualsTo' => $vendorDir . '/lcobucci/jwt/src/Claim/LesserOrEqualsTo.php',
'Lcobucci\\JWT\\Claim\\Validatable' => $vendorDir . '/lcobucci/jwt/src/Claim/Validatable.php',
'Lcobucci\\JWT\\Parser' => $vendorDir . '/lcobucci/jwt/src/Parser.php',
'Lcobucci\\JWT\\Parsing\\Decoder' => $vendorDir . '/lcobucci/jwt/src/Parsing/Decoder.php',
'Lcobucci\\JWT\\Parsing\\Encoder' => $vendorDir . '/lcobucci/jwt/src/Parsing/Encoder.php',
'Lcobucci\\JWT\\Signature' => $vendorDir . '/lcobucci/jwt/src/Signature.php',
'Lcobucci\\JWT\\Signer' => $vendorDir . '/lcobucci/jwt/src/Signer.php',
'Lcobucci\\JWT\\Signer\\BaseSigner' => $vendorDir . '/lcobucci/jwt/src/Signer/BaseSigner.php',
'Lcobucci\\JWT\\Signer\\Ecdsa' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa.php',
'Lcobucci\\JWT\\Signer\\Ecdsa\\KeyParser' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/KeyParser.php',
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/Sha256.php',
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/Sha384.php',
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/Sha512.php',
'Lcobucci\\JWT\\Signer\\Hmac' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac.php',
'Lcobucci\\JWT\\Signer\\Hmac\\Sha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha256.php',
'Lcobucci\\JWT\\Signer\\Hmac\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha384.php',
'Lcobucci\\JWT\\Signer\\Hmac\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha512.php',
'Lcobucci\\JWT\\Signer\\Key' => $vendorDir . '/lcobucci/jwt/src/Signer/Key.php',
'Lcobucci\\JWT\\Signer\\Keychain' => $vendorDir . '/lcobucci/jwt/src/Signer/Keychain.php',
'Lcobucci\\JWT\\Signer\\Rsa' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa.php',
'Lcobucci\\JWT\\Signer\\Rsa\\Sha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha256.php',
'Lcobucci\\JWT\\Signer\\Rsa\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha384.php',
'Lcobucci\\JWT\\Signer\\Rsa\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha512.php',
'Lcobucci\\JWT\\Token' => $vendorDir . '/lcobucci/jwt/src/Token.php',
'Lcobucci\\JWT\\ValidationData' => $vendorDir . '/lcobucci/jwt/src/ValidationData.php',
'League\\Flysystem\\AdapterInterface' => $vendorDir . '/league/flysystem/src/AdapterInterface.php',
'League\\Flysystem\\Adapter\\AbstractAdapter' => $vendorDir . '/league/flysystem/src/Adapter/AbstractAdapter.php',
'League\\Flysystem\\Adapter\\AbstractFtpAdapter' => $vendorDir . '/league/flysystem/src/Adapter/AbstractFtpAdapter.php',
@@ -1825,6 +1874,7 @@ return array(
'Monolog\\Handler\\HandlerWrapper' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php',
'Monolog\\Handler\\HipChatHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HipChatHandler.php',
'Monolog\\Handler\\IFTTTHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php',
'Monolog\\Handler\\InsightOpsHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php',
'Monolog\\Handler\\LogEntriesHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php',
'Monolog\\Handler\\LogglyHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php',
'Monolog\\Handler\\MailHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MailHandler.php',
@@ -1863,11 +1913,135 @@ return array(
'Monolog\\Processor\\MemoryUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php',
'Monolog\\Processor\\MercurialProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php',
'Monolog\\Processor\\ProcessIdProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php',
'Monolog\\Processor\\ProcessorInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php',
'Monolog\\Processor\\PsrLogMessageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php',
'Monolog\\Processor\\TagProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php',
'Monolog\\Processor\\UidProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php',
'Monolog\\Processor\\WebProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php',
'Monolog\\Registry' => $vendorDir . '/monolog/monolog/src/Monolog/Registry.php',
'Monolog\\ResettableInterface' => $vendorDir . '/monolog/monolog/src/Monolog/ResettableInterface.php',
'Monolog\\SignalHandler' => $vendorDir . '/monolog/monolog/src/Monolog/SignalHandler.php',
'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.php',
'Nexmo\\Account\\Balance' => $vendorDir . '/nexmo/client/src/Account/Balance.php',
'Nexmo\\Account\\Client' => $vendorDir . '/nexmo/client/src/Account/Client.php',
'Nexmo\\Account\\PrefixPrice' => $vendorDir . '/nexmo/client/src/Account/PrefixPrice.php',
'Nexmo\\Account\\Price' => $vendorDir . '/nexmo/client/src/Account/Price.php',
'Nexmo\\Account\\Secret' => $vendorDir . '/nexmo/client/src/Account/Secret.php',
'Nexmo\\Account\\SecretCollection' => $vendorDir . '/nexmo/client/src/Account/SecretCollection.php',
'Nexmo\\Account\\SmsPrice' => $vendorDir . '/nexmo/client/src/Account/SmsPrice.php',
'Nexmo\\Account\\VoicePrice' => $vendorDir . '/nexmo/client/src/Account/VoicePrice.php',
'Nexmo\\ApiErrorHandler' => $vendorDir . '/nexmo/client/src/ApiErrorHandler.php',
'Nexmo\\Application\\Application' => $vendorDir . '/nexmo/client/src/Application/Application.php',
'Nexmo\\Application\\ApplicationInterface' => $vendorDir . '/nexmo/client/src/Application/ApplicationInterface.php',
'Nexmo\\Application\\Client' => $vendorDir . '/nexmo/client/src/Application/Client.php',
'Nexmo\\Application\\Filter' => $vendorDir . '/nexmo/client/src/Application/Filter.php',
'Nexmo\\Application\\VoiceConfig' => $vendorDir . '/nexmo/client/src/Application/VoiceConfig.php',
'Nexmo\\Application\\Webhook' => $vendorDir . '/nexmo/client/src/Application/Webhook.php',
'Nexmo\\Call\\Call' => $vendorDir . '/nexmo/client/src/Call/Call.php',
'Nexmo\\Call\\Collection' => $vendorDir . '/nexmo/client/src/Call/Collection.php',
'Nexmo\\Call\\Dtmf' => $vendorDir . '/nexmo/client/src/Call/Dtmf.php',
'Nexmo\\Call\\Earmuff' => $vendorDir . '/nexmo/client/src/Call/Earmuff.php',
'Nexmo\\Call\\Endpoint' => $vendorDir . '/nexmo/client/src/Call/Endpoint.php',
'Nexmo\\Call\\Event' => $vendorDir . '/nexmo/client/src/Call/Event.php',
'Nexmo\\Call\\Filter' => $vendorDir . '/nexmo/client/src/Call/Filter.php',
'Nexmo\\Call\\Hangup' => $vendorDir . '/nexmo/client/src/Call/Hangup.php',
'Nexmo\\Call\\Mute' => $vendorDir . '/nexmo/client/src/Call/Mute.php',
'Nexmo\\Call\\Stream' => $vendorDir . '/nexmo/client/src/Call/Stream.php',
'Nexmo\\Call\\Talk' => $vendorDir . '/nexmo/client/src/Call/Talk.php',
'Nexmo\\Call\\Transfer' => $vendorDir . '/nexmo/client/src/Call/Transfer.php',
'Nexmo\\Call\\Unearmuff' => $vendorDir . '/nexmo/client/src/Call/Unearmuff.php',
'Nexmo\\Call\\Unmute' => $vendorDir . '/nexmo/client/src/Call/Unmute.php',
'Nexmo\\Call\\Webhook' => $vendorDir . '/nexmo/client/src/Call/Webhook.php',
'Nexmo\\Client' => $vendorDir . '/nexmo/client/src/Client.php',
'Nexmo\\Client\\Callback\\Callback' => $vendorDir . '/nexmo/client/src/Client/Callback/Callback.php',
'Nexmo\\Client\\Callback\\CallbackInterface' => $vendorDir . '/nexmo/client/src/Client/Callback/CallbackInterface.php',
'Nexmo\\Client\\ClientAwareInterface' => $vendorDir . '/nexmo/client/src/Client/ClientAwareInterface.php',
'Nexmo\\Client\\ClientAwareTrait' => $vendorDir . '/nexmo/client/src/Client/ClientAwareTrait.php',
'Nexmo\\Client\\Credentials\\AbstractCredentials' => $vendorDir . '/nexmo/client/src/Client/Credentials/AbstractCredentials.php',
'Nexmo\\Client\\Credentials\\Basic' => $vendorDir . '/nexmo/client/src/Client/Credentials/Basic.php',
'Nexmo\\Client\\Credentials\\Container' => $vendorDir . '/nexmo/client/src/Client/Credentials/Container.php',
'Nexmo\\Client\\Credentials\\CredentialsInterface' => $vendorDir . '/nexmo/client/src/Client/Credentials/CredentialsInterface.php',
'Nexmo\\Client\\Credentials\\Keypair' => $vendorDir . '/nexmo/client/src/Client/Credentials/Keypair.php',
'Nexmo\\Client\\Credentials\\OAuth' => $vendorDir . '/nexmo/client/src/Client/Credentials/OAuth.php',
'Nexmo\\Client\\Credentials\\SignatureSecret' => $vendorDir . '/nexmo/client/src/Client/Credentials/SignatureSecret.php',
'Nexmo\\Client\\Exception\\Exception' => $vendorDir . '/nexmo/client/src/Client/Exception/Exception.php',
'Nexmo\\Client\\Exception\\Request' => $vendorDir . '/nexmo/client/src/Client/Exception/Request.php',
'Nexmo\\Client\\Exception\\Server' => $vendorDir . '/nexmo/client/src/Client/Exception/Server.php',
'Nexmo\\Client\\Exception\\Transport' => $vendorDir . '/nexmo/client/src/Client/Exception/Transport.php',
'Nexmo\\Client\\Exception\\Validation' => $vendorDir . '/nexmo/client/src/Client/Exception/Validation.php',
'Nexmo\\Client\\Factory\\FactoryInterface' => $vendorDir . '/nexmo/client/src/Client/Factory/FactoryInterface.php',
'Nexmo\\Client\\Factory\\MapFactory' => $vendorDir . '/nexmo/client/src/Client/Factory/MapFactory.php',
'Nexmo\\Client\\Request\\AbstractRequest' => $vendorDir . '/nexmo/client/src/Client/Request/AbstractRequest.php',
'Nexmo\\Client\\Request\\RequestInterface' => $vendorDir . '/nexmo/client/src/Client/Request/RequestInterface.php',
'Nexmo\\Client\\Request\\WrapResponseInterface' => $vendorDir . '/nexmo/client/src/Client/Request/WrapResponseInterface.php',
'Nexmo\\Client\\Response\\AbstractResponse' => $vendorDir . '/nexmo/client/src/Client/Response/AbstractResponse.php',
'Nexmo\\Client\\Response\\Error' => $vendorDir . '/nexmo/client/src/Client/Response/Error.php',
'Nexmo\\Client\\Response\\Response' => $vendorDir . '/nexmo/client/src/Client/Response/Response.php',
'Nexmo\\Client\\Response\\ResponseInterface' => $vendorDir . '/nexmo/client/src/Client/Response/ResponseInterface.php',
'Nexmo\\Client\\Signature' => $vendorDir . '/nexmo/client/src/Client/Signature.php',
'Nexmo\\Conversations\\Collection' => $vendorDir . '/nexmo/client/src/Conversations/Collection.php',
'Nexmo\\Conversations\\Conversation' => $vendorDir . '/nexmo/client/src/Conversations/Conversation.php',
'Nexmo\\Conversion\\Client' => $vendorDir . '/nexmo/client/src/Conversion/Client.php',
'Nexmo\\Entity\\ArrayAccessTrait' => $vendorDir . '/nexmo/client/src/Entity/ArrayAccessTrait.php',
'Nexmo\\Entity\\CollectionAwareInterface' => $vendorDir . '/nexmo/client/src/Entity/CollectionAwareInterface.php',
'Nexmo\\Entity\\CollectionAwareTrait' => $vendorDir . '/nexmo/client/src/Entity/CollectionAwareTrait.php',
'Nexmo\\Entity\\CollectionInterface' => $vendorDir . '/nexmo/client/src/Entity/CollectionInterface.php',
'Nexmo\\Entity\\CollectionTrait' => $vendorDir . '/nexmo/client/src/Entity/CollectionTrait.php',
'Nexmo\\Entity\\EmptyFilter' => $vendorDir . '/nexmo/client/src/Entity/EmptyFilter.php',
'Nexmo\\Entity\\EntityInterface' => $vendorDir . '/nexmo/client/src/Entity/EntityInterface.php',
'Nexmo\\Entity\\FilterInterface' => $vendorDir . '/nexmo/client/src/Entity/FilterInterface.php',
'Nexmo\\Entity\\HasEntityTrait' => $vendorDir . '/nexmo/client/src/Entity/HasEntityTrait.php',
'Nexmo\\Entity\\JsonResponseTrait' => $vendorDir . '/nexmo/client/src/Entity/JsonResponseTrait.php',
'Nexmo\\Entity\\JsonSerializableInterface' => $vendorDir . '/nexmo/client/src/Entity/JsonSerializableInterface.php',
'Nexmo\\Entity\\JsonSerializableTrait' => $vendorDir . '/nexmo/client/src/Entity/JsonSerializableTrait.php',
'Nexmo\\Entity\\JsonUnserializableInterface' => $vendorDir . '/nexmo/client/src/Entity/JsonUnserializableInterface.php',
'Nexmo\\Entity\\NoRequestResponseTrait' => $vendorDir . '/nexmo/client/src/Entity/NoRequestResponseTrait.php',
'Nexmo\\Entity\\Psr7Trait' => $vendorDir . '/nexmo/client/src/Entity/Psr7Trait.php',
'Nexmo\\Entity\\RequestArrayTrait' => $vendorDir . '/nexmo/client/src/Entity/RequestArrayTrait.php',
'Nexmo\\Insights\\Advanced' => $vendorDir . '/nexmo/client/src/Insights/Advanced.php',
'Nexmo\\Insights\\AdvancedCnam' => $vendorDir . '/nexmo/client/src/Insights/AdvancedCnam.php',
'Nexmo\\Insights\\Basic' => $vendorDir . '/nexmo/client/src/Insights/Basic.php',
'Nexmo\\Insights\\Client' => $vendorDir . '/nexmo/client/src/Insights/Client.php',
'Nexmo\\Insights\\CnamTrait' => $vendorDir . '/nexmo/client/src/Insights/CnamTrait.php',
'Nexmo\\Insights\\Standard' => $vendorDir . '/nexmo/client/src/Insights/Standard.php',
'Nexmo\\Insights\\StandardCnam' => $vendorDir . '/nexmo/client/src/Insights/StandardCnam.php',
'Nexmo\\InvalidResponseException' => $vendorDir . '/nexmo/client/src/InvalidResponseException.php',
'Nexmo\\Message\\AutoDetect' => $vendorDir . '/nexmo/client/src/Message/AutoDetect.php',
'Nexmo\\Message\\Binary' => $vendorDir . '/nexmo/client/src/Message/Binary.php',
'Nexmo\\Message\\Callback\\Receipt' => $vendorDir . '/nexmo/client/src/Message/Callback/Receipt.php',
'Nexmo\\Message\\Client' => $vendorDir . '/nexmo/client/src/Message/Client.php',
'Nexmo\\Message\\CollectionTrait' => $vendorDir . '/nexmo/client/src/Message/CollectionTrait.php',
'Nexmo\\Message\\EncodingDetector' => $vendorDir . '/nexmo/client/src/Message/EncodingDetector.php',
'Nexmo\\Message\\InboundMessage' => $vendorDir . '/nexmo/client/src/Message/InboundMessage.php',
'Nexmo\\Message\\Message' => $vendorDir . '/nexmo/client/src/Message/Message.php',
'Nexmo\\Message\\MessageInterface' => $vendorDir . '/nexmo/client/src/Message/MessageInterface.php',
'Nexmo\\Message\\Query' => $vendorDir . '/nexmo/client/src/Message/Query.php',
'Nexmo\\Message\\Response\\Collection' => $vendorDir . '/nexmo/client/src/Message/Response/Collection.php',
'Nexmo\\Message\\Response\\Message' => $vendorDir . '/nexmo/client/src/Message/Response/Message.php',
'Nexmo\\Message\\Text' => $vendorDir . '/nexmo/client/src/Message/Text.php',
'Nexmo\\Message\\Unicode' => $vendorDir . '/nexmo/client/src/Message/Unicode.php',
'Nexmo\\Message\\Vcal' => $vendorDir . '/nexmo/client/src/Message/Vcal.php',
'Nexmo\\Message\\Vcard' => $vendorDir . '/nexmo/client/src/Message/Vcard.php',
'Nexmo\\Message\\Wap' => $vendorDir . '/nexmo/client/src/Message/Wap.php',
'Nexmo\\Network' => $vendorDir . '/nexmo/client/src/Network.php',
'Nexmo\\Network\\Number\\Callback' => $vendorDir . '/nexmo/client/src/Network/Number/Callback.php',
'Nexmo\\Network\\Number\\Request' => $vendorDir . '/nexmo/client/src/Network/Number/Request.php',
'Nexmo\\Network\\Number\\Response' => $vendorDir . '/nexmo/client/src/Network/Number/Response.php',
'Nexmo\\Numbers\\Client' => $vendorDir . '/nexmo/client/src/Numbers/Client.php',
'Nexmo\\Numbers\\Number' => $vendorDir . '/nexmo/client/src/Numbers/Number.php',
'Nexmo\\Redact\\Client' => $vendorDir . '/nexmo/client/src/Redact/Client.php',
'Nexmo\\Response' => $vendorDir . '/nexmo/client/src/Response.php',
'Nexmo\\Response\\Message' => $vendorDir . '/nexmo/client/src/Response/Message.php',
'Nexmo\\User\\Collection' => $vendorDir . '/nexmo/client/src/User/Collection.php',
'Nexmo\\User\\User' => $vendorDir . '/nexmo/client/src/User/User.php',
'Nexmo\\Verify\\Check' => $vendorDir . '/nexmo/client/src/Verify/Check.php',
'Nexmo\\Verify\\Client' => $vendorDir . '/nexmo/client/src/Verify/Client.php',
'Nexmo\\Verify\\Verification' => $vendorDir . '/nexmo/client/src/Verify/Verification.php',
'Nexmo\\Verify\\VerificationInterface' => $vendorDir . '/nexmo/client/src/Verify/VerificationInterface.php',
'Nexmo\\Voice\\Call\\Call' => $vendorDir . '/nexmo/client/src/Voice/Call/Call.php',
'Nexmo\\Voice\\Call\\Inbound' => $vendorDir . '/nexmo/client/src/Voice/Call/Inbound.php',
'Nexmo\\Voice\\Message\\Callback' => $vendorDir . '/nexmo/client/src/Voice/Message/Callback.php',
'Nexmo\\Voice\\Message\\Message' => $vendorDir . '/nexmo/client/src/Voice/Message/Message.php',
'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider' => $vendorDir . '/nunomaduro/collision/src/Adapters/Laravel/CollisionServiceProvider.php',
'NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler' => $vendorDir . '/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php',
'NunoMaduro\\Collision\\Adapters\\Laravel\\Inspector' => $vendorDir . '/nunomaduro/collision/src/Adapters/Laravel/Inspector.php',
@@ -2032,6 +2206,7 @@ return array(
'PHPUnit\\Runner\\AfterSuccessfulTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php',
'PHPUnit\\Runner\\AfterTestErrorHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php',
'PHPUnit\\Runner\\AfterTestFailureHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php',
'PHPUnit\\Runner\\AfterTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php',
'PHPUnit\\Runner\\AfterTestWarningHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php',
'PHPUnit\\Runner\\BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
'PHPUnit\\Runner\\BeforeFirstTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php',
@@ -2924,6 +3099,7 @@ return array(
'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php',
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php',
'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php',
'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php',
@@ -3274,6 +3450,7 @@ return array(
'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyle' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyle.php',
'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleInterface' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyleInterface.php',
'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyleStack.php',
'Symfony\\Component\\Console\\Formatter\\WrappableOutputFormatterInterface' => $vendorDir . '/symfony/console/Formatter/WrappableOutputFormatterInterface.php',
'Symfony\\Component\\Console\\Helper\\DebugFormatterHelper' => $vendorDir . '/symfony/console/Helper/DebugFormatterHelper.php',
'Symfony\\Component\\Console\\Helper\\DescriptorHelper' => $vendorDir . '/symfony/console/Helper/DescriptorHelper.php',
'Symfony\\Component\\Console\\Helper\\FormatterHelper' => $vendorDir . '/symfony/console/Helper/FormatterHelper.php',
@@ -3470,6 +3647,7 @@ return array(
'Symfony\\Component\\HttpFoundation\\Session\\SessionBagInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionBagInterface.php',
'Symfony\\Component\\HttpFoundation\\Session\\SessionBagProxy' => $vendorDir . '/symfony/http-foundation/Session/SessionBagProxy.php',
'Symfony\\Component\\HttpFoundation\\Session\\SessionInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionInterface.php',
'Symfony\\Component\\HttpFoundation\\Session\\SessionUtils' => $vendorDir . '/symfony/http-foundation/Session/SessionUtils.php',
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\AbstractSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php',
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MemcachedSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php',
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MigratingSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php',
@@ -3575,6 +3753,7 @@ return array(
'Symfony\\Component\\HttpKernel\\Exception\\AccessDeniedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/AccessDeniedHttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\BadRequestHttpException' => $vendorDir . '/symfony/http-kernel/Exception/BadRequestHttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\ConflictHttpException' => $vendorDir . '/symfony/http-kernel/Exception/ConflictHttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\ControllerDoesNotReturnResponseException' => $vendorDir . '/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php',
'Symfony\\Component\\HttpKernel\\Exception\\GoneHttpException' => $vendorDir . '/symfony/http-kernel/Exception/GoneHttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\HttpException' => $vendorDir . '/symfony/http-kernel/Exception/HttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\HttpExceptionInterface' => $vendorDir . '/symfony/http-kernel/Exception/HttpExceptionInterface.php',
@@ -3675,6 +3854,7 @@ return array(
'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumper' => $vendorDir . '/symfony/routing/Matcher/Dumper/MatcherDumper.php',
'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumperInterface' => $vendorDir . '/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php',
'Symfony\\Component\\Routing\\Matcher\\Dumper\\PhpMatcherDumper' => $vendorDir . '/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php',
'Symfony\\Component\\Routing\\Matcher\\Dumper\\PhpMatcherTrait' => $vendorDir . '/symfony/routing/Matcher/Dumper/PhpMatcherTrait.php',
'Symfony\\Component\\Routing\\Matcher\\Dumper\\StaticPrefixCollection' => $vendorDir . '/symfony/routing/Matcher/Dumper/StaticPrefixCollection.php',
'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcher' => $vendorDir . '/symfony/routing/Matcher/RedirectableUrlMatcher.php',
'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcherInterface' => $vendorDir . '/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php',
@@ -3725,6 +3905,8 @@ return array(
'Symfony\\Component\\Translation\\Extractor\\PhpExtractor' => $vendorDir . '/symfony/translation/Extractor/PhpExtractor.php',
'Symfony\\Component\\Translation\\Extractor\\PhpStringTokenParser' => $vendorDir . '/symfony/translation/Extractor/PhpStringTokenParser.php',
'Symfony\\Component\\Translation\\Formatter\\ChoiceMessageFormatterInterface' => $vendorDir . '/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php',
'Symfony\\Component\\Translation\\Formatter\\IntlFormatter' => $vendorDir . '/symfony/translation/Formatter/IntlFormatter.php',
'Symfony\\Component\\Translation\\Formatter\\IntlFormatterInterface' => $vendorDir . '/symfony/translation/Formatter/IntlFormatterInterface.php',
'Symfony\\Component\\Translation\\Formatter\\MessageFormatter' => $vendorDir . '/symfony/translation/Formatter/MessageFormatter.php',
'Symfony\\Component\\Translation\\Formatter\\MessageFormatterInterface' => $vendorDir . '/symfony/translation/Formatter/MessageFormatterInterface.php',
'Symfony\\Component\\Translation\\IdentityTranslator' => $vendorDir . '/symfony/translation/IdentityTranslator.php',
@@ -3755,6 +3937,7 @@ return array(
'Symfony\\Component\\Translation\\TranslatorBagInterface' => $vendorDir . '/symfony/translation/TranslatorBagInterface.php',
'Symfony\\Component\\Translation\\TranslatorInterface' => $vendorDir . '/symfony/translation/TranslatorInterface.php',
'Symfony\\Component\\Translation\\Util\\ArrayConverter' => $vendorDir . '/symfony/translation/Util/ArrayConverter.php',
'Symfony\\Component\\Translation\\Util\\XliffUtils' => $vendorDir . '/symfony/translation/Util/XliffUtils.php',
'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => $vendorDir . '/symfony/translation/Writer/TranslationWriter.php',
'Symfony\\Component\\Translation\\Writer\\TranslationWriterInterface' => $vendorDir . '/symfony/translation/Writer/TranslationWriterInterface.php',
'Symfony\\Component\\VarDumper\\Caster\\AmqpCaster' => $vendorDir . '/symfony/var-dumper/Caster/AmqpCaster.php',
@@ -3771,9 +3954,12 @@ return array(
'Symfony\\Component\\VarDumper\\Caster\\ExceptionCaster' => $vendorDir . '/symfony/var-dumper/Caster/ExceptionCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\FrameStub' => $vendorDir . '/symfony/var-dumper/Caster/FrameStub.php',
'Symfony\\Component\\VarDumper\\Caster\\GmpCaster' => $vendorDir . '/symfony/var-dumper/Caster/GmpCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\IntlCaster' => $vendorDir . '/symfony/var-dumper/Caster/IntlCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\LinkStub' => $vendorDir . '/symfony/var-dumper/Caster/LinkStub.php',
'Symfony\\Component\\VarDumper\\Caster\\MemcachedCaster' => $vendorDir . '/symfony/var-dumper/Caster/MemcachedCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\PdoCaster' => $vendorDir . '/symfony/var-dumper/Caster/PdoCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\PgSqlCaster' => $vendorDir . '/symfony/var-dumper/Caster/PgSqlCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\ProxyManagerCaster' => $vendorDir . '/symfony/var-dumper/Caster/ProxyManagerCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\RedisCaster' => $vendorDir . '/symfony/var-dumper/Caster/RedisCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\ReflectionCaster' => $vendorDir . '/symfony/var-dumper/Caster/ReflectionCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\ResourceCaster' => $vendorDir . '/symfony/var-dumper/Caster/ResourceCaster.php',
@@ -3808,6 +3994,26 @@ return array(
'Symfony\\Component\\VarDumper\\Server\\DumpServer' => $vendorDir . '/symfony/var-dumper/Server/DumpServer.php',
'Symfony\\Component\\VarDumper\\Test\\VarDumperTestTrait' => $vendorDir . '/symfony/var-dumper/Test/VarDumperTestTrait.php',
'Symfony\\Component\\VarDumper\\VarDumper' => $vendorDir . '/symfony/var-dumper/VarDumper.php',
'Symfony\\Contracts\\Cache\\CacheInterface' => $vendorDir . '/symfony/contracts/Cache/CacheInterface.php',
'Symfony\\Contracts\\Cache\\CacheTrait' => $vendorDir . '/symfony/contracts/Cache/CacheTrait.php',
'Symfony\\Contracts\\Cache\\CallbackInterface' => $vendorDir . '/symfony/contracts/Cache/CallbackInterface.php',
'Symfony\\Contracts\\Cache\\ItemInterface' => $vendorDir . '/symfony/contracts/Cache/ItemInterface.php',
'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => $vendorDir . '/symfony/contracts/Cache/TagAwareCacheInterface.php',
'Symfony\\Contracts\\Service\\ResetInterface' => $vendorDir . '/symfony/contracts/Service/ResetInterface.php',
'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => $vendorDir . '/symfony/contracts/Service/ServiceLocatorTrait.php',
'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => $vendorDir . '/symfony/contracts/Service/ServiceSubscriberInterface.php',
'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => $vendorDir . '/symfony/contracts/Service/ServiceSubscriberTrait.php',
'Symfony\\Contracts\\Tests\\Cache\\CacheTraitTest' => $vendorDir . '/symfony/contracts/Tests/Cache/CacheTraitTest.php',
'Symfony\\Contracts\\Tests\\Cache\\TestPool' => $vendorDir . '/symfony/contracts/Tests/Cache/CacheTraitTest.php',
'Symfony\\Contracts\\Tests\\Service\\ChildTestService' => $vendorDir . '/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php',
'Symfony\\Contracts\\Tests\\Service\\ParentTestService' => $vendorDir . '/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php',
'Symfony\\Contracts\\Tests\\Service\\ServiceLocatorTest' => $vendorDir . '/symfony/contracts/Tests/Service/ServiceLocatorTest.php',
'Symfony\\Contracts\\Tests\\Service\\ServiceSubscriberTraitTest' => $vendorDir . '/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php',
'Symfony\\Contracts\\Tests\\Service\\TestService' => $vendorDir . '/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php',
'Symfony\\Contracts\\Tests\\Translation\\TranslatorTest' => $vendorDir . '/symfony/contracts/Tests/Translation/TranslatorTest.php',
'Symfony\\Contracts\\Translation\\LocaleAwareInterface' => $vendorDir . '/symfony/contracts/Translation/LocaleAwareInterface.php',
'Symfony\\Contracts\\Translation\\TranslatorInterface' => $vendorDir . '/symfony/contracts/Translation/TranslatorInterface.php',
'Symfony\\Contracts\\Translation\\TranslatorTrait' => $vendorDir . '/symfony/contracts/Translation/TranslatorTrait.php',
'Symfony\\Polyfill\\Ctype\\Ctype' => $vendorDir . '/symfony/polyfill-ctype/Ctype.php',
'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php',
'Symfony\\Polyfill\\Php72\\Php72' => $vendorDir . '/symfony/polyfill-php72/Php72.php',
@@ -3851,6 +4057,38 @@ return array(
'Whoops\\Util\\TemplateHelper' => $vendorDir . '/filp/whoops/src/Whoops/Util/TemplateHelper.php',
'WikiTableSeeder' => $baseDir . '/database/seeds/WikiTableSeeder.php',
'XdgBaseDir\\Xdg' => $vendorDir . '/dnoegel/php-xdg-base-dir/src/Xdg.php',
'Zend\\Diactoros\\AbstractSerializer' => $vendorDir . '/zendframework/zend-diactoros/src/AbstractSerializer.php',
'Zend\\Diactoros\\CallbackStream' => $vendorDir . '/zendframework/zend-diactoros/src/CallbackStream.php',
'Zend\\Diactoros\\Exception\\DeprecatedMethodException' => $vendorDir . '/zendframework/zend-diactoros/src/Exception/DeprecatedMethodException.php',
'Zend\\Diactoros\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-diactoros/src/Exception/ExceptionInterface.php',
'Zend\\Diactoros\\HeaderSecurity' => $vendorDir . '/zendframework/zend-diactoros/src/HeaderSecurity.php',
'Zend\\Diactoros\\MessageTrait' => $vendorDir . '/zendframework/zend-diactoros/src/MessageTrait.php',
'Zend\\Diactoros\\PhpInputStream' => $vendorDir . '/zendframework/zend-diactoros/src/PhpInputStream.php',
'Zend\\Diactoros\\RelativeStream' => $vendorDir . '/zendframework/zend-diactoros/src/RelativeStream.php',
'Zend\\Diactoros\\Request' => $vendorDir . '/zendframework/zend-diactoros/src/Request.php',
'Zend\\Diactoros\\RequestTrait' => $vendorDir . '/zendframework/zend-diactoros/src/RequestTrait.php',
'Zend\\Diactoros\\Request\\ArraySerializer' => $vendorDir . '/zendframework/zend-diactoros/src/Request/ArraySerializer.php',
'Zend\\Diactoros\\Request\\Serializer' => $vendorDir . '/zendframework/zend-diactoros/src/Request/Serializer.php',
'Zend\\Diactoros\\Response' => $vendorDir . '/zendframework/zend-diactoros/src/Response.php',
'Zend\\Diactoros\\Response\\ArraySerializer' => $vendorDir . '/zendframework/zend-diactoros/src/Response/ArraySerializer.php',
'Zend\\Diactoros\\Response\\EmitterInterface' => $vendorDir . '/zendframework/zend-diactoros/src/Response/EmitterInterface.php',
'Zend\\Diactoros\\Response\\EmptyResponse' => $vendorDir . '/zendframework/zend-diactoros/src/Response/EmptyResponse.php',
'Zend\\Diactoros\\Response\\HtmlResponse' => $vendorDir . '/zendframework/zend-diactoros/src/Response/HtmlResponse.php',
'Zend\\Diactoros\\Response\\InjectContentTypeTrait' => $vendorDir . '/zendframework/zend-diactoros/src/Response/InjectContentTypeTrait.php',
'Zend\\Diactoros\\Response\\JsonResponse' => $vendorDir . '/zendframework/zend-diactoros/src/Response/JsonResponse.php',
'Zend\\Diactoros\\Response\\RedirectResponse' => $vendorDir . '/zendframework/zend-diactoros/src/Response/RedirectResponse.php',
'Zend\\Diactoros\\Response\\SapiEmitter' => $vendorDir . '/zendframework/zend-diactoros/src/Response/SapiEmitter.php',
'Zend\\Diactoros\\Response\\SapiEmitterTrait' => $vendorDir . '/zendframework/zend-diactoros/src/Response/SapiEmitterTrait.php',
'Zend\\Diactoros\\Response\\SapiStreamEmitter' => $vendorDir . '/zendframework/zend-diactoros/src/Response/SapiStreamEmitter.php',
'Zend\\Diactoros\\Response\\Serializer' => $vendorDir . '/zendframework/zend-diactoros/src/Response/Serializer.php',
'Zend\\Diactoros\\Response\\TextResponse' => $vendorDir . '/zendframework/zend-diactoros/src/Response/TextResponse.php',
'Zend\\Diactoros\\Response\\XmlResponse' => $vendorDir . '/zendframework/zend-diactoros/src/Response/XmlResponse.php',
'Zend\\Diactoros\\Server' => $vendorDir . '/zendframework/zend-diactoros/src/Server.php',
'Zend\\Diactoros\\ServerRequest' => $vendorDir . '/zendframework/zend-diactoros/src/ServerRequest.php',
'Zend\\Diactoros\\ServerRequestFactory' => $vendorDir . '/zendframework/zend-diactoros/src/ServerRequestFactory.php',
'Zend\\Diactoros\\Stream' => $vendorDir . '/zendframework/zend-diactoros/src/Stream.php',
'Zend\\Diactoros\\UploadedFile' => $vendorDir . '/zendframework/zend-diactoros/src/UploadedFile.php',
'Zend\\Diactoros\\Uri' => $vendorDir . '/zendframework/zend-diactoros/src/Uri.php',
'nullx27\\Socialite\\EveOnline\\Providers\\EveOnlineServiceProvider' => $vendorDir . '/nullx27/eveonline-socialite/src/Providers/EveOnlineServiceProvider.php',
'nullx27\\Socialite\\EveOnline\\Providers\\EveOnlineSocialiteProvider' => $vendorDir . '/nullx27/eveonline-socialite/src/Providers/EveOnlineSocialiteProvider.php',
'nullx27\\Socialite\\EveOnline\\Traits\\EveAuth' => $vendorDir . '/nullx27/eveonline-socialite/src/Traits/EveAuth.php',

View File

@@ -7,13 +7,22 @@ $baseDir = dirname($vendorDir);
return array(
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
'2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
'cf97c57bfe0f23854afd2f3818abb7a0' => $vendorDir . '/zendframework/zend-diactoros/src/functions/create_uploaded_file.php',
'9bf37a3d0dad93e29cb4e1b1bfab04e9' => $vendorDir . '/zendframework/zend-diactoros/src/functions/marshal_headers_from_sapi.php',
'ce70dccb4bcc2efc6e94d2ee526e6972' => $vendorDir . '/zendframework/zend-diactoros/src/functions/marshal_method_from_sapi.php',
'f86420df471f14d568bfcb71e271b523' => $vendorDir . '/zendframework/zend-diactoros/src/functions/marshal_protocol_version_from_sapi.php',
'b87481e008a3700344428ae089e7f9e5' => $vendorDir . '/zendframework/zend-diactoros/src/functions/marshal_uri_from_sapi.php',
'0b0974a5566a1077e4f2e111341112c1' => $vendorDir . '/zendframework/zend-diactoros/src/functions/normalize_server.php',
'1ca3bc274755662169f9629d5412a1da' => $vendorDir . '/zendframework/zend-diactoros/src/functions/normalize_uploaded_files.php',
'40360c0b9b437e69bcbb7f1349ce029e' => $vendorDir . '/zendframework/zend-diactoros/src/functions/parse_cookie_header.php',
'538ca81a9a966a6716601ecf48f4eaef' => $vendorDir . '/opis/closure/functions.php',
'f0906e6318348a765ffb6eb24e0d0938' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
'58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',

View File

@@ -9,6 +9,5 @@ return array(
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
'Parsedown' => array($vendorDir . '/erusev/parsedown'),
'Mockery' => array($vendorDir . '/mockery/mockery/library'),
'JakubOnderka\\PhpConsoleHighlighter' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'),
'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'),
);

View File

@@ -8,6 +8,7 @@ $baseDir = dirname($vendorDir);
return array(
'phpDocumentor\\Reflection\\' => array($vendorDir . '/phpdocumentor/reflection-common/src', $vendorDir . '/phpdocumentor/reflection-docblock/src', $vendorDir . '/phpdocumentor/type-resolver/src'),
'nullx27\\Socialite\\EveOnline\\' => array($vendorDir . '/nullx27/eveonline-socialite/src'),
'Zend\\Diactoros\\' => array($vendorDir . '/zendframework/zend-diactoros/src'),
'XdgBaseDir\\' => array($vendorDir . '/dnoegel/php-xdg-base-dir/src'),
'Whoops\\' => array($vendorDir . '/filp/whoops/src/Whoops'),
'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'),
@@ -16,6 +17,7 @@ return array(
'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
'Symfony\\Contracts\\' => array($vendorDir . '/symfony/contracts'),
'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'),
'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
@@ -38,13 +40,20 @@ return array(
'PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'),
'Opis\\Closure\\' => array($vendorDir . '/opis/closure/src'),
'NunoMaduro\\Collision\\' => array($vendorDir . '/nunomaduro/collision/src'),
'Nexmo\\' => array($vendorDir . '/nexmo/client/src'),
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
'League\\OAuth1\\' => array($vendorDir . '/league/oauth1-client/src'),
'League\\Flysystem\\' => array($vendorDir . '/league/flysystem/src'),
'Lcobucci\\JWT\\' => array($vendorDir . '/lcobucci/jwt/src'),
'Laravel\\Tinker\\' => array($vendorDir . '/laravel/tinker/src'),
'Laravel\\Socialite\\' => array($vendorDir . '/laravel/socialite/src'),
'JakubOnderka\\PhpConsoleHighlighter\\' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'),
'JakubOnderka\\PhpConsoleColor\\' => array($vendorDir . '/jakub-onderka/php-console-color/src'),
'Illuminate\\Notifications\\' => array($vendorDir . '/laravel/nexmo-notification-channel/src', $vendorDir . '/laravel/slack-notification-channel/src'),
'Illuminate\\' => array($vendorDir . '/laravel/framework/src/Illuminate'),
'Http\\Promise\\' => array($vendorDir . '/php-http/promise/src'),
'Http\\Client\\' => array($vendorDir . '/php-http/httplug/src'),
'Http\\Adapter\\Guzzle6\\' => array($vendorDir . '/php-http/guzzle6-adapter/src'),
'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),

View File

@@ -8,13 +8,22 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
{
public static $files = array (
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
'2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
'cf97c57bfe0f23854afd2f3818abb7a0' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/create_uploaded_file.php',
'9bf37a3d0dad93e29cb4e1b1bfab04e9' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/marshal_headers_from_sapi.php',
'ce70dccb4bcc2efc6e94d2ee526e6972' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/marshal_method_from_sapi.php',
'f86420df471f14d568bfcb71e271b523' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/marshal_protocol_version_from_sapi.php',
'b87481e008a3700344428ae089e7f9e5' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/marshal_uri_from_sapi.php',
'0b0974a5566a1077e4f2e111341112c1' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/normalize_server.php',
'1ca3bc274755662169f9629d5412a1da' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/normalize_uploaded_files.php',
'40360c0b9b437e69bcbb7f1349ce029e' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/parse_cookie_header.php',
'538ca81a9a966a6716601ecf48f4eaef' => __DIR__ . '/..' . '/opis/closure/functions.php',
'f0906e6318348a765ffb6eb24e0d0938' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
'58571171fd5812e6e447dce228f52f4d' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/helpers.php',
@@ -34,6 +43,10 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
array (
'nullx27\\Socialite\\EveOnline\\' => 28,
),
'Z' =>
array (
'Zend\\Diactoros\\' => 15,
),
'X' =>
array (
'XdgBaseDir\\' => 11,
@@ -53,6 +66,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Polyfill\\Php72\\' => 23,
'Symfony\\Polyfill\\Mbstring\\' => 26,
'Symfony\\Polyfill\\Ctype\\' => 23,
'Symfony\\Contracts\\' => 18,
'Symfony\\Component\\VarDumper\\' => 28,
'Symfony\\Component\\Translation\\' => 30,
'Symfony\\Component\\Routing\\' => 26,
@@ -87,6 +101,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'N' =>
array (
'NunoMaduro\\Collision\\' => 21,
'Nexmo\\' => 6,
),
'M' =>
array (
@@ -96,17 +111,26 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
array (
'League\\OAuth1\\' => 14,
'League\\Flysystem\\' => 17,
'Lcobucci\\JWT\\' => 13,
'Laravel\\Tinker\\' => 15,
'Laravel\\Socialite\\' => 18,
),
'J' =>
array (
'JakubOnderka\\PhpConsoleHighlighter\\' => 35,
'JakubOnderka\\PhpConsoleColor\\' => 29,
),
'I' =>
array (
'Illuminate\\Notifications\\' => 25,
'Illuminate\\' => 11,
),
'H' =>
array (
'Http\\Promise\\' => 13,
'Http\\Client\\' => 12,
'Http\\Adapter\\Guzzle6\\' => 21,
),
'G' =>
array (
'GuzzleHttp\\Psr7\\' => 16,
@@ -155,6 +179,10 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
array (
0 => __DIR__ . '/..' . '/nullx27/eveonline-socialite/src',
),
'Zend\\Diactoros\\' =>
array (
0 => __DIR__ . '/..' . '/zendframework/zend-diactoros/src',
),
'XdgBaseDir\\' =>
array (
0 => __DIR__ . '/..' . '/dnoegel/php-xdg-base-dir/src',
@@ -187,6 +215,10 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
),
'Symfony\\Contracts\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/contracts',
),
'Symfony\\Component\\VarDumper\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/var-dumper',
@@ -275,6 +307,10 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
array (
0 => __DIR__ . '/..' . '/nunomaduro/collision/src',
),
'Nexmo\\' =>
array (
0 => __DIR__ . '/..' . '/nexmo/client/src',
),
'Monolog\\' =>
array (
0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog',
@@ -287,6 +323,10 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
array (
0 => __DIR__ . '/..' . '/league/flysystem/src',
),
'Lcobucci\\JWT\\' =>
array (
0 => __DIR__ . '/..' . '/lcobucci/jwt/src',
),
'Laravel\\Tinker\\' =>
array (
0 => __DIR__ . '/..' . '/laravel/tinker/src',
@@ -295,14 +335,35 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
array (
0 => __DIR__ . '/..' . '/laravel/socialite/src',
),
'JakubOnderka\\PhpConsoleHighlighter\\' =>
array (
0 => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src',
),
'JakubOnderka\\PhpConsoleColor\\' =>
array (
0 => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src',
),
'Illuminate\\Notifications\\' =>
array (
0 => __DIR__ . '/..' . '/laravel/nexmo-notification-channel/src',
1 => __DIR__ . '/..' . '/laravel/slack-notification-channel/src',
),
'Illuminate\\' =>
array (
0 => __DIR__ . '/..' . '/laravel/framework/src/Illuminate',
),
'Http\\Promise\\' =>
array (
0 => __DIR__ . '/..' . '/php-http/promise/src',
),
'Http\\Client\\' =>
array (
0 => __DIR__ . '/..' . '/php-http/httplug/src',
),
'Http\\Adapter\\Guzzle6\\' =>
array (
0 => __DIR__ . '/..' . '/php-http/guzzle6-adapter/src',
),
'GuzzleHttp\\Psr7\\' =>
array (
0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
@@ -384,13 +445,6 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
0 => __DIR__ . '/..' . '/mockery/mockery/library',
),
),
'J' =>
array (
'JakubOnderka\\PhpConsoleHighlighter' =>
array (
0 => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src',
),
),
'D' =>
array (
'Doctrine\\Common\\Lexer\\' =>
@@ -1111,6 +1165,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'GuzzleHttp\\Psr7\\PumpStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/PumpStream.php',
'GuzzleHttp\\Psr7\\Request' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Request.php',
'GuzzleHttp\\Psr7\\Response' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Response.php',
'GuzzleHttp\\Psr7\\Rfc7230' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Rfc7230.php',
'GuzzleHttp\\Psr7\\ServerRequest' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/ServerRequest.php',
'GuzzleHttp\\Psr7\\Stream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Stream.php',
'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php',
@@ -1192,6 +1247,20 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Hamcrest\\Type\\IsString' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsString.php',
'Hamcrest\\Util' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Util.php',
'Hamcrest\\Xml\\HasXPath' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Xml/HasXPath.php',
'Http\\Adapter\\Guzzle6\\Client' => __DIR__ . '/..' . '/php-http/guzzle6-adapter/src/Client.php',
'Http\\Adapter\\Guzzle6\\Promise' => __DIR__ . '/..' . '/php-http/guzzle6-adapter/src/Promise.php',
'Http\\Client\\Exception' => __DIR__ . '/..' . '/php-http/httplug/src/Exception.php',
'Http\\Client\\Exception\\HttpException' => __DIR__ . '/..' . '/php-http/httplug/src/Exception/HttpException.php',
'Http\\Client\\Exception\\NetworkException' => __DIR__ . '/..' . '/php-http/httplug/src/Exception/NetworkException.php',
'Http\\Client\\Exception\\RequestException' => __DIR__ . '/..' . '/php-http/httplug/src/Exception/RequestException.php',
'Http\\Client\\Exception\\TransferException' => __DIR__ . '/..' . '/php-http/httplug/src/Exception/TransferException.php',
'Http\\Client\\HttpAsyncClient' => __DIR__ . '/..' . '/php-http/httplug/src/HttpAsyncClient.php',
'Http\\Client\\HttpClient' => __DIR__ . '/..' . '/php-http/httplug/src/HttpClient.php',
'Http\\Client\\Promise\\HttpFulfilledPromise' => __DIR__ . '/..' . '/php-http/httplug/src/Promise/HttpFulfilledPromise.php',
'Http\\Client\\Promise\\HttpRejectedPromise' => __DIR__ . '/..' . '/php-http/httplug/src/Promise/HttpRejectedPromise.php',
'Http\\Promise\\FulfilledPromise' => __DIR__ . '/..' . '/php-http/promise/src/FulfilledPromise.php',
'Http\\Promise\\Promise' => __DIR__ . '/..' . '/php-http/promise/src/Promise.php',
'Http\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/php-http/promise/src/RejectedPromise.php',
'Illuminate\\Auth\\Access\\AuthorizationException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Access/AuthorizationException.php',
'Illuminate\\Auth\\Access\\Gate' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Access/Gate.php',
'Illuminate\\Auth\\Access\\HandlesAuthorization' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Access/HandlesAuthorization.php',
@@ -1713,8 +1782,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Illuminate\\Notifications\\Channels\\BroadcastChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Channels/BroadcastChannel.php',
'Illuminate\\Notifications\\Channels\\DatabaseChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Channels/DatabaseChannel.php',
'Illuminate\\Notifications\\Channels\\MailChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php',
'Illuminate\\Notifications\\Channels\\NexmoSmsChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Channels/NexmoSmsChannel.php',
'Illuminate\\Notifications\\Channels\\SlackWebhookChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Channels/SlackWebhookChannel.php',
'Illuminate\\Notifications\\Channels\\NexmoSmsChannel' => __DIR__ . '/..' . '/laravel/nexmo-notification-channel/src/Channels/NexmoSmsChannel.php',
'Illuminate\\Notifications\\Channels\\SlackWebhookChannel' => __DIR__ . '/..' . '/laravel/slack-notification-channel/src/Channels/SlackWebhookChannel.php',
'Illuminate\\Notifications\\Console\\NotificationTableCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Console/NotificationTableCommand.php',
'Illuminate\\Notifications\\DatabaseNotification' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/DatabaseNotification.php',
'Illuminate\\Notifications\\DatabaseNotificationCollection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/DatabaseNotificationCollection.php',
@@ -1726,17 +1795,19 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Illuminate\\Notifications\\Messages\\BroadcastMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/BroadcastMessage.php',
'Illuminate\\Notifications\\Messages\\DatabaseMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/DatabaseMessage.php',
'Illuminate\\Notifications\\Messages\\MailMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/MailMessage.php',
'Illuminate\\Notifications\\Messages\\NexmoMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/NexmoMessage.php',
'Illuminate\\Notifications\\Messages\\NexmoMessage' => __DIR__ . '/..' . '/laravel/nexmo-notification-channel/src/Messages/NexmoMessage.php',
'Illuminate\\Notifications\\Messages\\SimpleMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/SimpleMessage.php',
'Illuminate\\Notifications\\Messages\\SlackAttachment' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/SlackAttachment.php',
'Illuminate\\Notifications\\Messages\\SlackAttachmentField' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/SlackAttachmentField.php',
'Illuminate\\Notifications\\Messages\\SlackMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/SlackMessage.php',
'Illuminate\\Notifications\\Messages\\SlackAttachment' => __DIR__ . '/..' . '/laravel/slack-notification-channel/src/Messages/SlackAttachment.php',
'Illuminate\\Notifications\\Messages\\SlackAttachmentField' => __DIR__ . '/..' . '/laravel/slack-notification-channel/src/Messages/SlackAttachmentField.php',
'Illuminate\\Notifications\\Messages\\SlackMessage' => __DIR__ . '/..' . '/laravel/slack-notification-channel/src/Messages/SlackMessage.php',
'Illuminate\\Notifications\\NexmoChannelServiceProvider' => __DIR__ . '/..' . '/laravel/nexmo-notification-channel/src/NexmoChannelServiceProvider.php',
'Illuminate\\Notifications\\Notifiable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Notifiable.php',
'Illuminate\\Notifications\\Notification' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Notification.php',
'Illuminate\\Notifications\\NotificationSender' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/NotificationSender.php',
'Illuminate\\Notifications\\NotificationServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/NotificationServiceProvider.php',
'Illuminate\\Notifications\\RoutesNotifications' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php',
'Illuminate\\Notifications\\SendQueuedNotifications' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php',
'Illuminate\\Notifications\\SlackChannelServiceProvider' => __DIR__ . '/..' . '/laravel/slack-notification-channel/src/SlackChannelServiceProvider.php',
'Illuminate\\Pagination\\AbstractPaginator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php',
'Illuminate\\Pagination\\LengthAwarePaginator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pagination/LengthAwarePaginator.php',
'Illuminate\\Pagination\\PaginationServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php',
@@ -2000,7 +2071,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Illuminate\\View\\ViewServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/ViewServiceProvider.php',
'JakubOnderka\\PhpConsoleColor\\ConsoleColor' => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src/ConsoleColor.php',
'JakubOnderka\\PhpConsoleColor\\InvalidStyleException' => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src/InvalidStyleException.php',
'JakubOnderka\\PhpConsoleHighlighter\\Highlighter' => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src/JakubOnderka/PhpConsoleHighlighter/Highlighter.php',
'JakubOnderka\\PhpConsoleHighlighter\\Highlighter' => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src/Highlighter.php',
'JsonSerializable' => __DIR__ . '/..' . '/nesbot/carbon/src/JsonSerializable.php',
'Laravel\\Socialite\\AbstractUser' => __DIR__ . '/..' . '/laravel/socialite/src/AbstractUser.php',
'Laravel\\Socialite\\Contracts\\Factory' => __DIR__ . '/..' . '/laravel/socialite/src/Contracts/Factory.php',
@@ -2016,6 +2087,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Laravel\\Socialite\\Two\\BitbucketProvider' => __DIR__ . '/..' . '/laravel/socialite/src/Two/BitbucketProvider.php',
'Laravel\\Socialite\\Two\\FacebookProvider' => __DIR__ . '/..' . '/laravel/socialite/src/Two/FacebookProvider.php',
'Laravel\\Socialite\\Two\\GithubProvider' => __DIR__ . '/..' . '/laravel/socialite/src/Two/GithubProvider.php',
'Laravel\\Socialite\\Two\\GitlabProvider' => __DIR__ . '/..' . '/laravel/socialite/src/Two/GitlabProvider.php',
'Laravel\\Socialite\\Two\\GoogleProvider' => __DIR__ . '/..' . '/laravel/socialite/src/Two/GoogleProvider.php',
'Laravel\\Socialite\\Two\\InvalidStateException' => __DIR__ . '/..' . '/laravel/socialite/src/Two/InvalidStateException.php',
'Laravel\\Socialite\\Two\\LinkedInProvider' => __DIR__ . '/..' . '/laravel/socialite/src/Two/LinkedInProvider.php',
@@ -2025,6 +2097,37 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Laravel\\Tinker\\Console\\TinkerCommand' => __DIR__ . '/..' . '/laravel/tinker/src/Console/TinkerCommand.php',
'Laravel\\Tinker\\TinkerCaster' => __DIR__ . '/..' . '/laravel/tinker/src/TinkerCaster.php',
'Laravel\\Tinker\\TinkerServiceProvider' => __DIR__ . '/..' . '/laravel/tinker/src/TinkerServiceProvider.php',
'Lcobucci\\JWT\\Builder' => __DIR__ . '/..' . '/lcobucci/jwt/src/Builder.php',
'Lcobucci\\JWT\\Claim' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim.php',
'Lcobucci\\JWT\\Claim\\Basic' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/Basic.php',
'Lcobucci\\JWT\\Claim\\EqualsTo' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/EqualsTo.php',
'Lcobucci\\JWT\\Claim\\Factory' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/Factory.php',
'Lcobucci\\JWT\\Claim\\GreaterOrEqualsTo' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/GreaterOrEqualsTo.php',
'Lcobucci\\JWT\\Claim\\LesserOrEqualsTo' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/LesserOrEqualsTo.php',
'Lcobucci\\JWT\\Claim\\Validatable' => __DIR__ . '/..' . '/lcobucci/jwt/src/Claim/Validatable.php',
'Lcobucci\\JWT\\Parser' => __DIR__ . '/..' . '/lcobucci/jwt/src/Parser.php',
'Lcobucci\\JWT\\Parsing\\Decoder' => __DIR__ . '/..' . '/lcobucci/jwt/src/Parsing/Decoder.php',
'Lcobucci\\JWT\\Parsing\\Encoder' => __DIR__ . '/..' . '/lcobucci/jwt/src/Parsing/Encoder.php',
'Lcobucci\\JWT\\Signature' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signature.php',
'Lcobucci\\JWT\\Signer' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer.php',
'Lcobucci\\JWT\\Signer\\BaseSigner' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/BaseSigner.php',
'Lcobucci\\JWT\\Signer\\Ecdsa' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa.php',
'Lcobucci\\JWT\\Signer\\Ecdsa\\KeyParser' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/KeyParser.php',
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/Sha256.php',
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/Sha384.php',
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/Sha512.php',
'Lcobucci\\JWT\\Signer\\Hmac' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac.php',
'Lcobucci\\JWT\\Signer\\Hmac\\Sha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha256.php',
'Lcobucci\\JWT\\Signer\\Hmac\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha384.php',
'Lcobucci\\JWT\\Signer\\Hmac\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha512.php',
'Lcobucci\\JWT\\Signer\\Key' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Key.php',
'Lcobucci\\JWT\\Signer\\Keychain' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Keychain.php',
'Lcobucci\\JWT\\Signer\\Rsa' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa.php',
'Lcobucci\\JWT\\Signer\\Rsa\\Sha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha256.php',
'Lcobucci\\JWT\\Signer\\Rsa\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha384.php',
'Lcobucci\\JWT\\Signer\\Rsa\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha512.php',
'Lcobucci\\JWT\\Token' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token.php',
'Lcobucci\\JWT\\ValidationData' => __DIR__ . '/..' . '/lcobucci/jwt/src/ValidationData.php',
'League\\Flysystem\\AdapterInterface' => __DIR__ . '/..' . '/league/flysystem/src/AdapterInterface.php',
'League\\Flysystem\\Adapter\\AbstractAdapter' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/AbstractAdapter.php',
'League\\Flysystem\\Adapter\\AbstractFtpAdapter' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/AbstractFtpAdapter.php',
@@ -2220,6 +2323,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Monolog\\Handler\\HandlerWrapper' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php',
'Monolog\\Handler\\HipChatHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HipChatHandler.php',
'Monolog\\Handler\\IFTTTHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php',
'Monolog\\Handler\\InsightOpsHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php',
'Monolog\\Handler\\LogEntriesHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php',
'Monolog\\Handler\\LogglyHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php',
'Monolog\\Handler\\MailHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MailHandler.php',
@@ -2258,11 +2362,135 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Monolog\\Processor\\MemoryUsageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php',
'Monolog\\Processor\\MercurialProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php',
'Monolog\\Processor\\ProcessIdProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php',
'Monolog\\Processor\\ProcessorInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php',
'Monolog\\Processor\\PsrLogMessageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php',
'Monolog\\Processor\\TagProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php',
'Monolog\\Processor\\UidProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php',
'Monolog\\Processor\\WebProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php',
'Monolog\\Registry' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Registry.php',
'Monolog\\ResettableInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ResettableInterface.php',
'Monolog\\SignalHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/SignalHandler.php',
'Monolog\\Utils' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Utils.php',
'Nexmo\\Account\\Balance' => __DIR__ . '/..' . '/nexmo/client/src/Account/Balance.php',
'Nexmo\\Account\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Account/Client.php',
'Nexmo\\Account\\PrefixPrice' => __DIR__ . '/..' . '/nexmo/client/src/Account/PrefixPrice.php',
'Nexmo\\Account\\Price' => __DIR__ . '/..' . '/nexmo/client/src/Account/Price.php',
'Nexmo\\Account\\Secret' => __DIR__ . '/..' . '/nexmo/client/src/Account/Secret.php',
'Nexmo\\Account\\SecretCollection' => __DIR__ . '/..' . '/nexmo/client/src/Account/SecretCollection.php',
'Nexmo\\Account\\SmsPrice' => __DIR__ . '/..' . '/nexmo/client/src/Account/SmsPrice.php',
'Nexmo\\Account\\VoicePrice' => __DIR__ . '/..' . '/nexmo/client/src/Account/VoicePrice.php',
'Nexmo\\ApiErrorHandler' => __DIR__ . '/..' . '/nexmo/client/src/ApiErrorHandler.php',
'Nexmo\\Application\\Application' => __DIR__ . '/..' . '/nexmo/client/src/Application/Application.php',
'Nexmo\\Application\\ApplicationInterface' => __DIR__ . '/..' . '/nexmo/client/src/Application/ApplicationInterface.php',
'Nexmo\\Application\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Application/Client.php',
'Nexmo\\Application\\Filter' => __DIR__ . '/..' . '/nexmo/client/src/Application/Filter.php',
'Nexmo\\Application\\VoiceConfig' => __DIR__ . '/..' . '/nexmo/client/src/Application/VoiceConfig.php',
'Nexmo\\Application\\Webhook' => __DIR__ . '/..' . '/nexmo/client/src/Application/Webhook.php',
'Nexmo\\Call\\Call' => __DIR__ . '/..' . '/nexmo/client/src/Call/Call.php',
'Nexmo\\Call\\Collection' => __DIR__ . '/..' . '/nexmo/client/src/Call/Collection.php',
'Nexmo\\Call\\Dtmf' => __DIR__ . '/..' . '/nexmo/client/src/Call/Dtmf.php',
'Nexmo\\Call\\Earmuff' => __DIR__ . '/..' . '/nexmo/client/src/Call/Earmuff.php',
'Nexmo\\Call\\Endpoint' => __DIR__ . '/..' . '/nexmo/client/src/Call/Endpoint.php',
'Nexmo\\Call\\Event' => __DIR__ . '/..' . '/nexmo/client/src/Call/Event.php',
'Nexmo\\Call\\Filter' => __DIR__ . '/..' . '/nexmo/client/src/Call/Filter.php',
'Nexmo\\Call\\Hangup' => __DIR__ . '/..' . '/nexmo/client/src/Call/Hangup.php',
'Nexmo\\Call\\Mute' => __DIR__ . '/..' . '/nexmo/client/src/Call/Mute.php',
'Nexmo\\Call\\Stream' => __DIR__ . '/..' . '/nexmo/client/src/Call/Stream.php',
'Nexmo\\Call\\Talk' => __DIR__ . '/..' . '/nexmo/client/src/Call/Talk.php',
'Nexmo\\Call\\Transfer' => __DIR__ . '/..' . '/nexmo/client/src/Call/Transfer.php',
'Nexmo\\Call\\Unearmuff' => __DIR__ . '/..' . '/nexmo/client/src/Call/Unearmuff.php',
'Nexmo\\Call\\Unmute' => __DIR__ . '/..' . '/nexmo/client/src/Call/Unmute.php',
'Nexmo\\Call\\Webhook' => __DIR__ . '/..' . '/nexmo/client/src/Call/Webhook.php',
'Nexmo\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Client.php',
'Nexmo\\Client\\Callback\\Callback' => __DIR__ . '/..' . '/nexmo/client/src/Client/Callback/Callback.php',
'Nexmo\\Client\\Callback\\CallbackInterface' => __DIR__ . '/..' . '/nexmo/client/src/Client/Callback/CallbackInterface.php',
'Nexmo\\Client\\ClientAwareInterface' => __DIR__ . '/..' . '/nexmo/client/src/Client/ClientAwareInterface.php',
'Nexmo\\Client\\ClientAwareTrait' => __DIR__ . '/..' . '/nexmo/client/src/Client/ClientAwareTrait.php',
'Nexmo\\Client\\Credentials\\AbstractCredentials' => __DIR__ . '/..' . '/nexmo/client/src/Client/Credentials/AbstractCredentials.php',
'Nexmo\\Client\\Credentials\\Basic' => __DIR__ . '/..' . '/nexmo/client/src/Client/Credentials/Basic.php',
'Nexmo\\Client\\Credentials\\Container' => __DIR__ . '/..' . '/nexmo/client/src/Client/Credentials/Container.php',
'Nexmo\\Client\\Credentials\\CredentialsInterface' => __DIR__ . '/..' . '/nexmo/client/src/Client/Credentials/CredentialsInterface.php',
'Nexmo\\Client\\Credentials\\Keypair' => __DIR__ . '/..' . '/nexmo/client/src/Client/Credentials/Keypair.php',
'Nexmo\\Client\\Credentials\\OAuth' => __DIR__ . '/..' . '/nexmo/client/src/Client/Credentials/OAuth.php',
'Nexmo\\Client\\Credentials\\SignatureSecret' => __DIR__ . '/..' . '/nexmo/client/src/Client/Credentials/SignatureSecret.php',
'Nexmo\\Client\\Exception\\Exception' => __DIR__ . '/..' . '/nexmo/client/src/Client/Exception/Exception.php',
'Nexmo\\Client\\Exception\\Request' => __DIR__ . '/..' . '/nexmo/client/src/Client/Exception/Request.php',
'Nexmo\\Client\\Exception\\Server' => __DIR__ . '/..' . '/nexmo/client/src/Client/Exception/Server.php',
'Nexmo\\Client\\Exception\\Transport' => __DIR__ . '/..' . '/nexmo/client/src/Client/Exception/Transport.php',
'Nexmo\\Client\\Exception\\Validation' => __DIR__ . '/..' . '/nexmo/client/src/Client/Exception/Validation.php',
'Nexmo\\Client\\Factory\\FactoryInterface' => __DIR__ . '/..' . '/nexmo/client/src/Client/Factory/FactoryInterface.php',
'Nexmo\\Client\\Factory\\MapFactory' => __DIR__ . '/..' . '/nexmo/client/src/Client/Factory/MapFactory.php',
'Nexmo\\Client\\Request\\AbstractRequest' => __DIR__ . '/..' . '/nexmo/client/src/Client/Request/AbstractRequest.php',
'Nexmo\\Client\\Request\\RequestInterface' => __DIR__ . '/..' . '/nexmo/client/src/Client/Request/RequestInterface.php',
'Nexmo\\Client\\Request\\WrapResponseInterface' => __DIR__ . '/..' . '/nexmo/client/src/Client/Request/WrapResponseInterface.php',
'Nexmo\\Client\\Response\\AbstractResponse' => __DIR__ . '/..' . '/nexmo/client/src/Client/Response/AbstractResponse.php',
'Nexmo\\Client\\Response\\Error' => __DIR__ . '/..' . '/nexmo/client/src/Client/Response/Error.php',
'Nexmo\\Client\\Response\\Response' => __DIR__ . '/..' . '/nexmo/client/src/Client/Response/Response.php',
'Nexmo\\Client\\Response\\ResponseInterface' => __DIR__ . '/..' . '/nexmo/client/src/Client/Response/ResponseInterface.php',
'Nexmo\\Client\\Signature' => __DIR__ . '/..' . '/nexmo/client/src/Client/Signature.php',
'Nexmo\\Conversations\\Collection' => __DIR__ . '/..' . '/nexmo/client/src/Conversations/Collection.php',
'Nexmo\\Conversations\\Conversation' => __DIR__ . '/..' . '/nexmo/client/src/Conversations/Conversation.php',
'Nexmo\\Conversion\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Conversion/Client.php',
'Nexmo\\Entity\\ArrayAccessTrait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/ArrayAccessTrait.php',
'Nexmo\\Entity\\CollectionAwareInterface' => __DIR__ . '/..' . '/nexmo/client/src/Entity/CollectionAwareInterface.php',
'Nexmo\\Entity\\CollectionAwareTrait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/CollectionAwareTrait.php',
'Nexmo\\Entity\\CollectionInterface' => __DIR__ . '/..' . '/nexmo/client/src/Entity/CollectionInterface.php',
'Nexmo\\Entity\\CollectionTrait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/CollectionTrait.php',
'Nexmo\\Entity\\EmptyFilter' => __DIR__ . '/..' . '/nexmo/client/src/Entity/EmptyFilter.php',
'Nexmo\\Entity\\EntityInterface' => __DIR__ . '/..' . '/nexmo/client/src/Entity/EntityInterface.php',
'Nexmo\\Entity\\FilterInterface' => __DIR__ . '/..' . '/nexmo/client/src/Entity/FilterInterface.php',
'Nexmo\\Entity\\HasEntityTrait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/HasEntityTrait.php',
'Nexmo\\Entity\\JsonResponseTrait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/JsonResponseTrait.php',
'Nexmo\\Entity\\JsonSerializableInterface' => __DIR__ . '/..' . '/nexmo/client/src/Entity/JsonSerializableInterface.php',
'Nexmo\\Entity\\JsonSerializableTrait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/JsonSerializableTrait.php',
'Nexmo\\Entity\\JsonUnserializableInterface' => __DIR__ . '/..' . '/nexmo/client/src/Entity/JsonUnserializableInterface.php',
'Nexmo\\Entity\\NoRequestResponseTrait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/NoRequestResponseTrait.php',
'Nexmo\\Entity\\Psr7Trait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/Psr7Trait.php',
'Nexmo\\Entity\\RequestArrayTrait' => __DIR__ . '/..' . '/nexmo/client/src/Entity/RequestArrayTrait.php',
'Nexmo\\Insights\\Advanced' => __DIR__ . '/..' . '/nexmo/client/src/Insights/Advanced.php',
'Nexmo\\Insights\\AdvancedCnam' => __DIR__ . '/..' . '/nexmo/client/src/Insights/AdvancedCnam.php',
'Nexmo\\Insights\\Basic' => __DIR__ . '/..' . '/nexmo/client/src/Insights/Basic.php',
'Nexmo\\Insights\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Insights/Client.php',
'Nexmo\\Insights\\CnamTrait' => __DIR__ . '/..' . '/nexmo/client/src/Insights/CnamTrait.php',
'Nexmo\\Insights\\Standard' => __DIR__ . '/..' . '/nexmo/client/src/Insights/Standard.php',
'Nexmo\\Insights\\StandardCnam' => __DIR__ . '/..' . '/nexmo/client/src/Insights/StandardCnam.php',
'Nexmo\\InvalidResponseException' => __DIR__ . '/..' . '/nexmo/client/src/InvalidResponseException.php',
'Nexmo\\Message\\AutoDetect' => __DIR__ . '/..' . '/nexmo/client/src/Message/AutoDetect.php',
'Nexmo\\Message\\Binary' => __DIR__ . '/..' . '/nexmo/client/src/Message/Binary.php',
'Nexmo\\Message\\Callback\\Receipt' => __DIR__ . '/..' . '/nexmo/client/src/Message/Callback/Receipt.php',
'Nexmo\\Message\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Message/Client.php',
'Nexmo\\Message\\CollectionTrait' => __DIR__ . '/..' . '/nexmo/client/src/Message/CollectionTrait.php',
'Nexmo\\Message\\EncodingDetector' => __DIR__ . '/..' . '/nexmo/client/src/Message/EncodingDetector.php',
'Nexmo\\Message\\InboundMessage' => __DIR__ . '/..' . '/nexmo/client/src/Message/InboundMessage.php',
'Nexmo\\Message\\Message' => __DIR__ . '/..' . '/nexmo/client/src/Message/Message.php',
'Nexmo\\Message\\MessageInterface' => __DIR__ . '/..' . '/nexmo/client/src/Message/MessageInterface.php',
'Nexmo\\Message\\Query' => __DIR__ . '/..' . '/nexmo/client/src/Message/Query.php',
'Nexmo\\Message\\Response\\Collection' => __DIR__ . '/..' . '/nexmo/client/src/Message/Response/Collection.php',
'Nexmo\\Message\\Response\\Message' => __DIR__ . '/..' . '/nexmo/client/src/Message/Response/Message.php',
'Nexmo\\Message\\Text' => __DIR__ . '/..' . '/nexmo/client/src/Message/Text.php',
'Nexmo\\Message\\Unicode' => __DIR__ . '/..' . '/nexmo/client/src/Message/Unicode.php',
'Nexmo\\Message\\Vcal' => __DIR__ . '/..' . '/nexmo/client/src/Message/Vcal.php',
'Nexmo\\Message\\Vcard' => __DIR__ . '/..' . '/nexmo/client/src/Message/Vcard.php',
'Nexmo\\Message\\Wap' => __DIR__ . '/..' . '/nexmo/client/src/Message/Wap.php',
'Nexmo\\Network' => __DIR__ . '/..' . '/nexmo/client/src/Network.php',
'Nexmo\\Network\\Number\\Callback' => __DIR__ . '/..' . '/nexmo/client/src/Network/Number/Callback.php',
'Nexmo\\Network\\Number\\Request' => __DIR__ . '/..' . '/nexmo/client/src/Network/Number/Request.php',
'Nexmo\\Network\\Number\\Response' => __DIR__ . '/..' . '/nexmo/client/src/Network/Number/Response.php',
'Nexmo\\Numbers\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Numbers/Client.php',
'Nexmo\\Numbers\\Number' => __DIR__ . '/..' . '/nexmo/client/src/Numbers/Number.php',
'Nexmo\\Redact\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Redact/Client.php',
'Nexmo\\Response' => __DIR__ . '/..' . '/nexmo/client/src/Response.php',
'Nexmo\\Response\\Message' => __DIR__ . '/..' . '/nexmo/client/src/Response/Message.php',
'Nexmo\\User\\Collection' => __DIR__ . '/..' . '/nexmo/client/src/User/Collection.php',
'Nexmo\\User\\User' => __DIR__ . '/..' . '/nexmo/client/src/User/User.php',
'Nexmo\\Verify\\Check' => __DIR__ . '/..' . '/nexmo/client/src/Verify/Check.php',
'Nexmo\\Verify\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Verify/Client.php',
'Nexmo\\Verify\\Verification' => __DIR__ . '/..' . '/nexmo/client/src/Verify/Verification.php',
'Nexmo\\Verify\\VerificationInterface' => __DIR__ . '/..' . '/nexmo/client/src/Verify/VerificationInterface.php',
'Nexmo\\Voice\\Call\\Call' => __DIR__ . '/..' . '/nexmo/client/src/Voice/Call/Call.php',
'Nexmo\\Voice\\Call\\Inbound' => __DIR__ . '/..' . '/nexmo/client/src/Voice/Call/Inbound.php',
'Nexmo\\Voice\\Message\\Callback' => __DIR__ . '/..' . '/nexmo/client/src/Voice/Message/Callback.php',
'Nexmo\\Voice\\Message\\Message' => __DIR__ . '/..' . '/nexmo/client/src/Voice/Message/Message.php',
'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Laravel/CollisionServiceProvider.php',
'NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php',
'NunoMaduro\\Collision\\Adapters\\Laravel\\Inspector' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Laravel/Inspector.php',
@@ -2427,6 +2655,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'PHPUnit\\Runner\\AfterSuccessfulTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php',
'PHPUnit\\Runner\\AfterTestErrorHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php',
'PHPUnit\\Runner\\AfterTestFailureHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php',
'PHPUnit\\Runner\\AfterTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php',
'PHPUnit\\Runner\\AfterTestWarningHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php',
'PHPUnit\\Runner\\BaseTestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
'PHPUnit\\Runner\\BeforeFirstTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php',
@@ -3319,6 +3548,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php',
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php',
'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php',
'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php',
@@ -3669,6 +3899,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyle' => __DIR__ . '/..' . '/symfony/console/Formatter/OutputFormatterStyle.php',
'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleInterface' => __DIR__ . '/..' . '/symfony/console/Formatter/OutputFormatterStyleInterface.php',
'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack' => __DIR__ . '/..' . '/symfony/console/Formatter/OutputFormatterStyleStack.php',
'Symfony\\Component\\Console\\Formatter\\WrappableOutputFormatterInterface' => __DIR__ . '/..' . '/symfony/console/Formatter/WrappableOutputFormatterInterface.php',
'Symfony\\Component\\Console\\Helper\\DebugFormatterHelper' => __DIR__ . '/..' . '/symfony/console/Helper/DebugFormatterHelper.php',
'Symfony\\Component\\Console\\Helper\\DescriptorHelper' => __DIR__ . '/..' . '/symfony/console/Helper/DescriptorHelper.php',
'Symfony\\Component\\Console\\Helper\\FormatterHelper' => __DIR__ . '/..' . '/symfony/console/Helper/FormatterHelper.php',
@@ -3865,6 +4096,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Component\\HttpFoundation\\Session\\SessionBagInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionBagInterface.php',
'Symfony\\Component\\HttpFoundation\\Session\\SessionBagProxy' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionBagProxy.php',
'Symfony\\Component\\HttpFoundation\\Session\\SessionInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionInterface.php',
'Symfony\\Component\\HttpFoundation\\Session\\SessionUtils' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionUtils.php',
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\AbstractSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php',
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MemcachedSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php',
'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MigratingSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php',
@@ -3970,6 +4202,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Component\\HttpKernel\\Exception\\AccessDeniedHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/AccessDeniedHttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\BadRequestHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/BadRequestHttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\ConflictHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/ConflictHttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\ControllerDoesNotReturnResponseException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php',
'Symfony\\Component\\HttpKernel\\Exception\\GoneHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/GoneHttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\HttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/HttpException.php',
'Symfony\\Component\\HttpKernel\\Exception\\HttpExceptionInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/HttpExceptionInterface.php',
@@ -4070,6 +4303,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumper' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/MatcherDumper.php',
'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumperInterface' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php',
'Symfony\\Component\\Routing\\Matcher\\Dumper\\PhpMatcherDumper' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php',
'Symfony\\Component\\Routing\\Matcher\\Dumper\\PhpMatcherTrait' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/PhpMatcherTrait.php',
'Symfony\\Component\\Routing\\Matcher\\Dumper\\StaticPrefixCollection' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/StaticPrefixCollection.php',
'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcher' => __DIR__ . '/..' . '/symfony/routing/Matcher/RedirectableUrlMatcher.php',
'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcherInterface' => __DIR__ . '/..' . '/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php',
@@ -4120,6 +4354,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Component\\Translation\\Extractor\\PhpExtractor' => __DIR__ . '/..' . '/symfony/translation/Extractor/PhpExtractor.php',
'Symfony\\Component\\Translation\\Extractor\\PhpStringTokenParser' => __DIR__ . '/..' . '/symfony/translation/Extractor/PhpStringTokenParser.php',
'Symfony\\Component\\Translation\\Formatter\\ChoiceMessageFormatterInterface' => __DIR__ . '/..' . '/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php',
'Symfony\\Component\\Translation\\Formatter\\IntlFormatter' => __DIR__ . '/..' . '/symfony/translation/Formatter/IntlFormatter.php',
'Symfony\\Component\\Translation\\Formatter\\IntlFormatterInterface' => __DIR__ . '/..' . '/symfony/translation/Formatter/IntlFormatterInterface.php',
'Symfony\\Component\\Translation\\Formatter\\MessageFormatter' => __DIR__ . '/..' . '/symfony/translation/Formatter/MessageFormatter.php',
'Symfony\\Component\\Translation\\Formatter\\MessageFormatterInterface' => __DIR__ . '/..' . '/symfony/translation/Formatter/MessageFormatterInterface.php',
'Symfony\\Component\\Translation\\IdentityTranslator' => __DIR__ . '/..' . '/symfony/translation/IdentityTranslator.php',
@@ -4150,6 +4386,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Component\\Translation\\TranslatorBagInterface' => __DIR__ . '/..' . '/symfony/translation/TranslatorBagInterface.php',
'Symfony\\Component\\Translation\\TranslatorInterface' => __DIR__ . '/..' . '/symfony/translation/TranslatorInterface.php',
'Symfony\\Component\\Translation\\Util\\ArrayConverter' => __DIR__ . '/..' . '/symfony/translation/Util/ArrayConverter.php',
'Symfony\\Component\\Translation\\Util\\XliffUtils' => __DIR__ . '/..' . '/symfony/translation/Util/XliffUtils.php',
'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => __DIR__ . '/..' . '/symfony/translation/Writer/TranslationWriter.php',
'Symfony\\Component\\Translation\\Writer\\TranslationWriterInterface' => __DIR__ . '/..' . '/symfony/translation/Writer/TranslationWriterInterface.php',
'Symfony\\Component\\VarDumper\\Caster\\AmqpCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/AmqpCaster.php',
@@ -4166,9 +4403,12 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Component\\VarDumper\\Caster\\ExceptionCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ExceptionCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\FrameStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/FrameStub.php',
'Symfony\\Component\\VarDumper\\Caster\\GmpCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/GmpCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\IntlCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/IntlCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\LinkStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/LinkStub.php',
'Symfony\\Component\\VarDumper\\Caster\\MemcachedCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/MemcachedCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\PdoCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/PdoCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\PgSqlCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/PgSqlCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\ProxyManagerCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ProxyManagerCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\RedisCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/RedisCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\ReflectionCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ReflectionCaster.php',
'Symfony\\Component\\VarDumper\\Caster\\ResourceCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ResourceCaster.php',
@@ -4203,6 +4443,26 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Symfony\\Component\\VarDumper\\Server\\DumpServer' => __DIR__ . '/..' . '/symfony/var-dumper/Server/DumpServer.php',
'Symfony\\Component\\VarDumper\\Test\\VarDumperTestTrait' => __DIR__ . '/..' . '/symfony/var-dumper/Test/VarDumperTestTrait.php',
'Symfony\\Component\\VarDumper\\VarDumper' => __DIR__ . '/..' . '/symfony/var-dumper/VarDumper.php',
'Symfony\\Contracts\\Cache\\CacheInterface' => __DIR__ . '/..' . '/symfony/contracts/Cache/CacheInterface.php',
'Symfony\\Contracts\\Cache\\CacheTrait' => __DIR__ . '/..' . '/symfony/contracts/Cache/CacheTrait.php',
'Symfony\\Contracts\\Cache\\CallbackInterface' => __DIR__ . '/..' . '/symfony/contracts/Cache/CallbackInterface.php',
'Symfony\\Contracts\\Cache\\ItemInterface' => __DIR__ . '/..' . '/symfony/contracts/Cache/ItemInterface.php',
'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => __DIR__ . '/..' . '/symfony/contracts/Cache/TagAwareCacheInterface.php',
'Symfony\\Contracts\\Service\\ResetInterface' => __DIR__ . '/..' . '/symfony/contracts/Service/ResetInterface.php',
'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => __DIR__ . '/..' . '/symfony/contracts/Service/ServiceLocatorTrait.php',
'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => __DIR__ . '/..' . '/symfony/contracts/Service/ServiceSubscriberInterface.php',
'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => __DIR__ . '/..' . '/symfony/contracts/Service/ServiceSubscriberTrait.php',
'Symfony\\Contracts\\Tests\\Cache\\CacheTraitTest' => __DIR__ . '/..' . '/symfony/contracts/Tests/Cache/CacheTraitTest.php',
'Symfony\\Contracts\\Tests\\Cache\\TestPool' => __DIR__ . '/..' . '/symfony/contracts/Tests/Cache/CacheTraitTest.php',
'Symfony\\Contracts\\Tests\\Service\\ChildTestService' => __DIR__ . '/..' . '/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php',
'Symfony\\Contracts\\Tests\\Service\\ParentTestService' => __DIR__ . '/..' . '/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php',
'Symfony\\Contracts\\Tests\\Service\\ServiceLocatorTest' => __DIR__ . '/..' . '/symfony/contracts/Tests/Service/ServiceLocatorTest.php',
'Symfony\\Contracts\\Tests\\Service\\ServiceSubscriberTraitTest' => __DIR__ . '/..' . '/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php',
'Symfony\\Contracts\\Tests\\Service\\TestService' => __DIR__ . '/..' . '/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php',
'Symfony\\Contracts\\Tests\\Translation\\TranslatorTest' => __DIR__ . '/..' . '/symfony/contracts/Tests/Translation/TranslatorTest.php',
'Symfony\\Contracts\\Translation\\LocaleAwareInterface' => __DIR__ . '/..' . '/symfony/contracts/Translation/LocaleAwareInterface.php',
'Symfony\\Contracts\\Translation\\TranslatorInterface' => __DIR__ . '/..' . '/symfony/contracts/Translation/TranslatorInterface.php',
'Symfony\\Contracts\\Translation\\TranslatorTrait' => __DIR__ . '/..' . '/symfony/contracts/Translation/TranslatorTrait.php',
'Symfony\\Polyfill\\Ctype\\Ctype' => __DIR__ . '/..' . '/symfony/polyfill-ctype/Ctype.php',
'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php',
'Symfony\\Polyfill\\Php72\\Php72' => __DIR__ . '/..' . '/symfony/polyfill-php72/Php72.php',
@@ -4246,6 +4506,38 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'Whoops\\Util\\TemplateHelper' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/TemplateHelper.php',
'WikiTableSeeder' => __DIR__ . '/../..' . '/database/seeds/WikiTableSeeder.php',
'XdgBaseDir\\Xdg' => __DIR__ . '/..' . '/dnoegel/php-xdg-base-dir/src/Xdg.php',
'Zend\\Diactoros\\AbstractSerializer' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/AbstractSerializer.php',
'Zend\\Diactoros\\CallbackStream' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/CallbackStream.php',
'Zend\\Diactoros\\Exception\\DeprecatedMethodException' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Exception/DeprecatedMethodException.php',
'Zend\\Diactoros\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Exception/ExceptionInterface.php',
'Zend\\Diactoros\\HeaderSecurity' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/HeaderSecurity.php',
'Zend\\Diactoros\\MessageTrait' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/MessageTrait.php',
'Zend\\Diactoros\\PhpInputStream' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/PhpInputStream.php',
'Zend\\Diactoros\\RelativeStream' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/RelativeStream.php',
'Zend\\Diactoros\\Request' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Request.php',
'Zend\\Diactoros\\RequestTrait' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/RequestTrait.php',
'Zend\\Diactoros\\Request\\ArraySerializer' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Request/ArraySerializer.php',
'Zend\\Diactoros\\Request\\Serializer' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Request/Serializer.php',
'Zend\\Diactoros\\Response' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response.php',
'Zend\\Diactoros\\Response\\ArraySerializer' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/ArraySerializer.php',
'Zend\\Diactoros\\Response\\EmitterInterface' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/EmitterInterface.php',
'Zend\\Diactoros\\Response\\EmptyResponse' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/EmptyResponse.php',
'Zend\\Diactoros\\Response\\HtmlResponse' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/HtmlResponse.php',
'Zend\\Diactoros\\Response\\InjectContentTypeTrait' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/InjectContentTypeTrait.php',
'Zend\\Diactoros\\Response\\JsonResponse' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/JsonResponse.php',
'Zend\\Diactoros\\Response\\RedirectResponse' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/RedirectResponse.php',
'Zend\\Diactoros\\Response\\SapiEmitter' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/SapiEmitter.php',
'Zend\\Diactoros\\Response\\SapiEmitterTrait' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/SapiEmitterTrait.php',
'Zend\\Diactoros\\Response\\SapiStreamEmitter' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/SapiStreamEmitter.php',
'Zend\\Diactoros\\Response\\Serializer' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/Serializer.php',
'Zend\\Diactoros\\Response\\TextResponse' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/TextResponse.php',
'Zend\\Diactoros\\Response\\XmlResponse' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Response/XmlResponse.php',
'Zend\\Diactoros\\Server' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Server.php',
'Zend\\Diactoros\\ServerRequest' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/ServerRequest.php',
'Zend\\Diactoros\\ServerRequestFactory' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/ServerRequestFactory.php',
'Zend\\Diactoros\\Stream' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Stream.php',
'Zend\\Diactoros\\UploadedFile' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/UploadedFile.php',
'Zend\\Diactoros\\Uri' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/Uri.php',
'nullx27\\Socialite\\EveOnline\\Providers\\EveOnlineServiceProvider' => __DIR__ . '/..' . '/nullx27/eveonline-socialite/src/Providers/EveOnlineServiceProvider.php',
'nullx27\\Socialite\\EveOnline\\Providers\\EveOnlineSocialiteProvider' => __DIR__ . '/..' . '/nullx27/eveonline-socialite/src/Providers/EveOnlineSocialiteProvider.php',
'nullx27\\Socialite\\EveOnline\\Traits\\EveAuth' => __DIR__ . '/..' . '/nullx27/eveonline-socialite/src/Traits/EveAuth.php',

File diff suppressed because it is too large Load Diff

View File

@@ -62,7 +62,8 @@ class MultipleValidationWithAnd implements EmailValidation
$errors = [];
foreach ($this->validations as $validation) {
$emailLexer->reset();
$result = $result && $validation->isValid($email, $emailLexer);
$validationResult = $validation->isValid($email, $emailLexer);
$result = $result && $validationResult;
$this->warnings = array_merge($this->warnings, $validation->getWarnings());
$errors = $this->addNewError($validation->getError(), $errors);

View File

@@ -1,12 +1,15 @@
# EmailValidator
[![Build Status](https://travis-ci.org/egulias/EmailValidator.png?branch=master)](https://travis-ci.org/egulias/EmailValidator) [![Coverage Status](https://coveralls.io/repos/egulias/EmailValidator/badge.png?branch=master)](https://coveralls.io/r/egulias/EmailValidator?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/egulias/EmailValidator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/egulias/EmailValidator/?branch=master) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6/small.png)](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6)
=============================
With the help of [PHPStorm](https://www.jetbrains.com/phpstorm/)
## Suported RFCs ##
This library aims to support:
RFC 5321, 5322, 6530, 6531, 6532.
## Requirements ##
* [Composer](https://getcomposer.org) is required for installation
* [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system have the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl)
* [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system has the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl)
## Installation ##

View File

@@ -1,3 +1,11 @@
# 2.3.1
* Prevent exception in Whoops when caught exception frame is not related to real file
# 2.3.0
* Show previous exception messages.
# 2.2.0
* Support PHP 7.2

View File

@@ -112,15 +112,10 @@ class Frame implements Serializable
public function getFileContents()
{
if ($this->fileContentsCache === null && $filePath = $this->getFile()) {
// Leave the stage early when 'Unknown' is passed
// Leave the stage early when 'Unknown' or '[internal]' is passed
// this would otherwise raise an exception when
// open_basedir is enabled.
if ($filePath === "Unknown") {
return null;
}
// Return null if the file doesn't actually exist.
if (!is_file($filePath)) {
if ($filePath === "Unknown" || $filePath === '[internal]') {
return null;
}

View File

@@ -25,6 +25,11 @@ class Inspector
*/
private $previousExceptionInspector;
/**
* @var \Throwable[]
*/
private $previousExceptions;
/**
* @param \Throwable $exception The exception to inspect
*/
@@ -57,6 +62,28 @@ class Inspector
return $this->extractDocrefUrl($this->exception->getMessage())['message'];
}
/**
* @return string[]
*/
public function getPreviousExceptionMessages()
{
return array_map(function ($prev) {
/** @var \Throwable $prev */
return $this->extractDocrefUrl($prev->getMessage())['message'];
}, $this->getPreviousExceptions());
}
/**
* @return int[]
*/
public function getPreviousExceptionCodes()
{
return array_map(function ($prev) {
/** @var \Throwable $prev */
return $prev->getCode();
}, $this->getPreviousExceptions());
}
/**
* Returns a url to the php-manual related to the underlying error - when available.
*
@@ -117,6 +144,26 @@ class Inspector
return $this->previousExceptionInspector;
}
/**
* Returns an array of all previous exceptions for this inspector's exception
* @return \Throwable[]
*/
public function getPreviousExceptions()
{
if ($this->previousExceptions === null) {
$this->previousExceptions = [];
$prev = $this->exception->getPrevious();
while ($prev !== null) {
$this->previousExceptions[] = $prev;
$prev = $prev->getPrevious();
}
}
return $this->previousExceptions;
}
/**
* Returns an iterator for the inspected exception's
* frames.
@@ -188,7 +235,7 @@ class Inspector
*
* If xdebug is installed
*
* @param \Throwable $exception
* @param \Throwable $e
* @return array
*/
protected function getTrace($e)

View File

@@ -205,16 +205,18 @@ class PrettyPageHandler extends Handler
"frame_code" => $this->getResource("views/frame_code.html.php"),
"env_details" => $this->getResource("views/env_details.html.php"),
"title" => $this->getPageTitle(),
"name" => explode("\\", $inspector->getExceptionName()),
"message" => $inspector->getExceptionMessage(),
"docref_url" => $inspector->getExceptionDocrefUrl(),
"code" => $code,
"plain_exception" => Formatter::formatExceptionPlain($inspector),
"frames" => $frames,
"has_frames" => !!count($frames),
"handler" => $this,
"handlers" => $this->getRun()->getHandlers(),
"title" => $this->getPageTitle(),
"name" => explode("\\", $inspector->getExceptionName()),
"message" => $inspector->getExceptionMessage(),
"previousMessages" => $inspector->getPreviousExceptionMessages(),
"docref_url" => $inspector->getExceptionDocrefUrl(),
"code" => $code,
"previousCodes" => $inspector->getPreviousExceptionCodes(),
"plain_exception" => Formatter::formatExceptionPlain($inspector),
"frames" => $frames,
"has_frames" => !!count($frames),
"handler" => $this,
"handlers" => $this->getRun()->getHandlers(),
"active_frames_tab" => count($frames) && $frames->offsetGet(0)->isApplication() ? 'application' : 'all',
"has_frames_tabs" => $this->getApplicationPaths(),

View File

@@ -52,7 +52,7 @@ header {
color: #bebebe;
font-size: 14px;
}
.exc-title-primary {
.exc-title-primary, .exc-title-secondary {
color: #e95353;
}
@@ -70,6 +70,25 @@ header {
font-weight: 300;
}
.prev-exc-title {
margin: 10px 0;
}
.prev-exc-title + ul {
margin: 0;
padding: 0 0 0 20px;
line-height: 12px;
}
.prev-exc-title + ul li {
font: 12px "Helvetica Neue", helvetica, arial, sans-serif;
}
.prev-exc-title + ul li .prev-exc-code {
display: inline-block;
color: #bebebe;
}
.details-container {
left: 30%;
width: 70%;

View File

@@ -8,8 +8,8 @@
<div class="frame-file">
<?php $filePath = $frame->getFile(); ?>
<?php if ($filePath && $editorHref = $handler->getEditorHref($filePath, (int) $line)): ?>
Open:
<a href="<?php echo $editorHref ?>" class="editor-link"<?php echo ($handler->getEditorAjax($filePath, (int) $line) ? ' data-ajax' : '') ?>>
Open:
<strong><?php echo $tpl->breakOnDelimiter('/', $tpl->escape($filePath ?: '<#unknown>')) ?></strong>
</a>
<?php else: ?>

View File

@@ -15,6 +15,25 @@
<div class="exc-message">
<?php if (!empty($message)): ?>
<span><?php echo $tpl->escape($message) ?></span>
<?php if (count($previousMessages)): ?>
<div class="exc-title prev-exc-title">
<span class="exc-title-secondary">Previous exceptions</span>
</div>
<ul>
<?php foreach ($previousMessages as $i => $previousMessage): ?>
<li>
<?php echo $tpl->escape($previousMessage) ?>
<span class="prev-exc-code">(<?php echo $previousCodes[$i] ?>)</span>
</li>
<?php endforeach; ?>
</ul>
<?php endif ?>
<?php else: ?>
<span class="exc-message-empty-notice">No message</span>
<?php endif ?>

9
vendor/guzzlehttp/psr7/.editorconfig vendored Normal file
View File

@@ -0,0 +1,9 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

View File

@@ -1,32 +1,82 @@
# CHANGELOG
# Change Log
## 1.4.2 - 2017-03-20
* Reverted BC break to `Uri::resolve` and `Uri::removeDotSegments` by removing
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.5.2] - 2018-12-04
### Fixed
- Check body size when getting the message summary
## [1.5.1] - 2018-12-04
### Fixed
- Get the summary of a body only if it is readable
## [1.5.0] - 2018-12-03
### Added
- Response first-line to response string exception (fixes #145)
- A test for #129 behavior
- `get_message_body_summary` function in order to get the message summary
- `3gp` and `mkv` mime types
### Changed
- Clarify exception message when stream is detached
### Deprecated
- Deprecated parsing folded header lines as per RFC 7230
### Fixed
- Fix `AppendStream::detach` to not close streams
- `InflateStream` preserves `isSeekable` attribute of the underlying stream
- `ServerRequest::getUriFromGlobals` to support URLs in query parameters
Several other fixes and improvements.
## [1.4.2] - 2017-03-20
### Fixed
- Reverted BC break to `Uri::resolve` and `Uri::removeDotSegments` by removing
calls to `trigger_error` when deprecated methods are invoked.
## 1.4.1 - 2017-02-27
* Reverted BC break by reintroducing behavior to automagically fix a URI with a
## [1.4.1] - 2017-02-27
### Added
- Rriggering of silenced deprecation warnings.
### Fixed
- Reverted BC break by reintroducing behavior to automagically fix a URI with a
relative path and an authority by adding a leading slash to the path. It's only
deprecated now.
* Added triggering of silenced deprecation warnings.
## 1.4.0 - 2017-02-21
* Fix `Stream::read` when length parameter <= 0.
* `copy_to_stream` reads bytes in chunks instead of `maxLen` into memory.
* Fix `ServerRequest::getUriFromGlobals` when `Host` header contains port.
* Ensure `ServerRequest::getUriFromGlobals` returns a URI in absolute form.
* Allow `parse_response` to parse a response without delimiting space and reason.
* Ensure each URI modification results in a valid URI according to PSR-7 discussions.
Invalid modifications will throw an exception instead of returning a wrong URI or
doing some magic.
- `(new Uri)->withPath('foo')->withHost('example.com')` will throw an exception
because the path of a URI with an authority must start with a slash "/" or be empty
- `(new Uri())->withScheme('http')` will return `'http://localhost'`
* Fix compatibility of URIs with `file` scheme and empty host.
* Added common URI utility methods based on RFC 3986 (see documentation in the readme):
## [1.4.0] - 2017-02-21
### Added
- Added common URI utility methods based on RFC 3986 (see documentation in the readme):
- `Uri::isDefaultPort`
- `Uri::isAbsolute`
- `Uri::isNetworkPathReference`
@@ -37,69 +87,117 @@
- `UriNormalizer::normalize`
- `UriNormalizer::isEquivalent`
- `UriResolver::relativize`
* Deprecated `Uri::resolve` in favor of `UriResolver::resolve`
* Deprecated `Uri::removeDotSegments` in favor of `UriResolver::removeDotSegments`
## 1.3.1 - 2016-06-25
### Changed
* Fix `Uri::__toString` for network path references, e.g. `//example.org`.
* Fix missing lowercase normalization for host.
* Fix handling of URI components in case they are `'0'` in a lot of places,
- Ensure `ServerRequest::getUriFromGlobals` returns a URI in absolute form.
- Allow `parse_response` to parse a response without delimiting space and reason.
- Ensure each URI modification results in a valid URI according to PSR-7 discussions.
Invalid modifications will throw an exception instead of returning a wrong URI or
doing some magic.
- `(new Uri)->withPath('foo')->withHost('example.com')` will throw an exception
because the path of a URI with an authority must start with a slash "/" or be empty
- `(new Uri())->withScheme('http')` will return `'http://localhost'`
### Deprecated
- `Uri::resolve` in favor of `UriResolver::resolve`
- `Uri::removeDotSegments` in favor of `UriResolver::removeDotSegments`
### Fixed
- `Stream::read` when length parameter <= 0.
- `copy_to_stream` reads bytes in chunks instead of `maxLen` into memory.
- `ServerRequest::getUriFromGlobals` when `Host` header contains port.
- Compatibility of URIs with `file` scheme and empty host.
## [1.3.1] - 2016-06-25
### Fixed
- `Uri::__toString` for network path references, e.g. `//example.org`.
- Missing lowercase normalization for host.
- Handling of URI components in case they are `'0'` in a lot of places,
e.g. as a user info password.
* Fix `Uri::withAddedHeader` to correctly merge headers with different case.
* Fix trimming of header values in `Uri::withAddedHeader`. Header values may
- `Uri::withAddedHeader` to correctly merge headers with different case.
- Trimming of header values in `Uri::withAddedHeader`. Header values may
be surrounded by whitespace which should be ignored according to RFC 7230
Section 3.2.4. This does not apply to header names.
* Fix `Uri::withAddedHeader` with an array of header values.
* Fix `Uri::resolve` when base path has no slash and handling of fragment.
* Fix handling of encoding in `Uri::with(out)QueryValue` so one can pass the
- `Uri::withAddedHeader` with an array of header values.
- `Uri::resolve` when base path has no slash and handling of fragment.
- Handling of encoding in `Uri::with(out)QueryValue` so one can pass the
key/value both in encoded as well as decoded form to those methods. This is
consistent with withPath, withQuery etc.
* Fix `ServerRequest::withoutAttribute` when attribute value is null.
- `ServerRequest::withoutAttribute` when attribute value is null.
## 1.3.0 - 2016-04-13
* Added remaining interfaces needed for full PSR7 compatibility
## [1.3.0] - 2016-04-13
### Added
- Remaining interfaces needed for full PSR7 compatibility
(ServerRequestInterface, UploadedFileInterface, etc.).
* Added support for stream_for from scalars.
* Can now extend Uri.
* Fixed a bug in validating request methods by making it more permissive.
- Support for stream_for from scalars.
## 1.2.3 - 2016-02-18
### Changed
* Fixed support in `GuzzleHttp\Psr7\CachingStream` for seeking forward on remote
- Can now extend Uri.
### Fixed
- A bug in validating request methods by making it more permissive.
## [1.2.3] - 2016-02-18
### Fixed
- Support in `GuzzleHttp\Psr7\CachingStream` for seeking forward on remote
streams, which can sometimes return fewer bytes than requested with `fread`.
* Fixed handling of gzipped responses with FNAME headers.
- Handling of gzipped responses with FNAME headers.
## 1.2.2 - 2016-01-22
* Added support for URIs without any authority.
* Added support for HTTP 451 'Unavailable For Legal Reasons.'
* Added support for using '0' as a filename.
* Added support for including non-standard ports in Host headers.
## [1.2.2] - 2016-01-22
## 1.2.1 - 2015-11-02
### Added
* Now supporting negative offsets when seeking to SEEK_END.
- Support for URIs without any authority.
- Support for HTTP 451 'Unavailable For Legal Reasons.'
- Support for using '0' as a filename.
- Support for including non-standard ports in Host headers.
## 1.2.0 - 2015-08-15
* Body as `"0"` is now properly added to a response.
* Now allowing forward seeking in CachingStream.
* Now properly parsing HTTP requests that contain proxy targets in
## [1.2.1] - 2015-11-02
### Changes
- Now supporting negative offsets when seeking to SEEK_END.
## [1.2.0] - 2015-08-15
### Changed
- Body as `"0"` is now properly added to a response.
- Now allowing forward seeking in CachingStream.
- Now properly parsing HTTP requests that contain proxy targets in
`parse_request`.
* functions.php is now conditionally required.
* user-info is no longer dropped when resolving URIs.
- functions.php is now conditionally required.
- user-info is no longer dropped when resolving URIs.
## 1.1.0 - 2015-06-24
* URIs can now be relative.
* `multipart/form-data` headers are now overridden case-insensitively.
* URI paths no longer encode the following characters because they are allowed
## [1.1.0] - 2015-06-24
### Changed
- URIs can now be relative.
- `multipart/form-data` headers are now overridden case-insensitively.
- URI paths no longer encode the following characters because they are allowed
in URIs: "(", ")", "*", "!", "'"
* A port is no longer added to a URI when the scheme is missing and no port is
- A port is no longer added to a URI when the scheme is missing and no port is
present.
## 1.0.0 - 2015-05-19
Initial release.
@@ -108,3 +206,20 @@ Currently unsupported:
- `Psr\Http\Message\ServerRequestInterface`
- `Psr\Http\Message\UploadedFileInterface`
[Unreleased]: https://github.com/guzzle/psr7/compare/1.5.2...HEAD
[1.5.2]: https://github.com/guzzle/psr7/compare/1.5.1...1.5.2
[1.5.1]: https://github.com/guzzle/psr7/compare/1.5.0...1.5.1
[1.5.0]: https://github.com/guzzle/psr7/compare/1.4.2...1.5.0
[1.4.2]: https://github.com/guzzle/psr7/compare/1.4.1...1.4.2
[1.4.1]: https://github.com/guzzle/psr7/compare/1.4.0...1.4.1
[1.4.0]: https://github.com/guzzle/psr7/compare/1.3.1...1.4.0
[1.3.1]: https://github.com/guzzle/psr7/compare/1.3.0...1.3.1
[1.3.0]: https://github.com/guzzle/psr7/compare/1.2.3...1.3.0
[1.2.3]: https://github.com/guzzle/psr7/compare/1.2.2...1.2.3
[1.2.2]: https://github.com/guzzle/psr7/compare/1.2.1...1.2.2
[1.2.1]: https://github.com/guzzle/psr7/compare/1.2.0...1.2.1
[1.2.0]: https://github.com/guzzle/psr7/compare/1.1.0...1.2.0
[1.1.0]: https://github.com/guzzle/psr7/compare/1.0.0...1.1.0

View File

@@ -372,7 +372,7 @@ This method accepts the following `$resource` types:
$stream = GuzzleHttp\Psr7\stream_for('foo');
$stream = GuzzleHttp\Psr7\stream_for(fopen('/path/to/file', 'r'));
$generator function ($bytes) {
$generator = function ($bytes) {
for ($i = 0; $i < $bytes; $i++) {
yield ' ';
}
@@ -606,6 +606,12 @@ Creates a new URI with a specific query string value. Any existing query string
provided key are removed and replaced with the given key value pair. A value of null will set the query string
key without a value, e.g. "key" instead of "key=value".
### `GuzzleHttp\Psr7\Uri::withQueryValues`
`public static function withQueryValues(UriInterface $uri, array $keyValueArray): UriInterface`
Creates a new URI with multiple query string values. It has the same behavior as `withQueryValue()` but for an
associative array of key => value.
### `GuzzleHttp\Psr7\Uri::withoutQueryValue`

View File

@@ -2,7 +2,7 @@
"name": "guzzlehttp/psr7",
"type": "library",
"description": "PSR-7 message implementation that also provides common utility methods",
"keywords": ["request", "response", "message", "stream", "http", "uri", "url"],
"keywords": ["request", "response", "message", "stream", "http", "uri", "url", "psr-7"],
"license": "MIT",
"authors": [
{
@@ -17,10 +17,11 @@
],
"require": {
"php": ">=5.4.0",
"psr/http-message": "~1.0"
"psr/http-message": "~1.0",
"ralouphie/getallheaders": "^2.0.5"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
},
"provide": {
"psr/http-message-implementation": "1.0"
@@ -31,9 +32,14 @@
},
"files": ["src/functions_include.php"]
},
"autoload-dev": {
"psr-4": {
"GuzzleHttp\\Tests\\Psr7\\": "tests/"
}
},
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
"dev-master": "1.5-dev"
}
}
}

View File

@@ -16,7 +16,6 @@ class AppendStream implements StreamInterface
private $seekable = true;
private $current = 0;
private $pos = 0;
private $detached = false;
/**
* @param StreamInterface[] $streams Streams to decorate. Each stream must
@@ -73,6 +72,7 @@ class AppendStream implements StreamInterface
public function close()
{
$this->pos = $this->current = 0;
$this->seekable = true;
foreach ($this->streams as $stream) {
$stream->close();
@@ -82,14 +82,22 @@ class AppendStream implements StreamInterface
}
/**
* Detaches each attached stream
* Detaches each attached stream.
*
* Returns null as it's not clear which underlying stream resource to return.
*
* {@inheritdoc}
*/
public function detach()
{
$this->close();
$this->detached = true;
$this->pos = $this->current = 0;
$this->seekable = true;
foreach ($this->streams as $stream) {
$stream->detach();
}
$this->streams = [];
}
public function tell()

View File

@@ -52,6 +52,15 @@ class FnStream implements StreamInterface
}
}
/**
* An unserialize would allow the __destruct to run when the unserialized value goes out of scope.
* @throws \LogicException
*/
public function __wakeup()
{
throw new \LogicException('FnStream should never be unserialized');
}
/**
* Adds custom functionality to an underlying stream by intercepting
* specific method calls.

View File

@@ -27,7 +27,7 @@ class InflateStream implements StreamInterface
$stream = new LimitStream($stream, -1, 10 + $filenameHeaderLength);
$resource = StreamWrapper::getResource($stream);
stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ);
$this->stream = new Stream($resource);
$this->stream = $stream->isSeekable() ? new Stream($resource) : new NoSeekStream(new Stream($resource));
}
/**

View File

@@ -45,7 +45,7 @@ class Request implements RequestInterface
$this->setHeaders($headers);
$this->protocol = $version;
if (!$this->hasHeader('Host')) {
if (!isset($this->headerNames['host'])) {
$this->updateHostFromUri();
}
@@ -110,7 +110,7 @@ class Request implements RequestInterface
$new = clone $this;
$new->uri = $uri;
if (!$preserveHost) {
if (!$preserveHost || !isset($this->headerNames['host'])) {
$new->updateHostFromUri();
}

View File

@@ -93,6 +93,10 @@ class Response implements ResponseInterface
$version = '1.1',
$reason = null
) {
if (filter_var($status, FILTER_VALIDATE_INT) === false) {
throw new \InvalidArgumentException('Status code must be an integer value.');
}
$this->statusCode = (int) $status;
if ($body !== '' && $body !== null) {

18
vendor/guzzlehttp/psr7/src/Rfc7230.php vendored Normal file
View File

@@ -0,0 +1,18 @@
<?php
namespace GuzzleHttp\Psr7;
final class Rfc7230
{
/**
* Header related regular expressions (copied from amphp/http package)
* (Note: once we require PHP 7.x we could just depend on the upstream package)
*
* Note: header delimiter (\r\n) is modified to \r?\n to accept line feed only delimiters for BC reasons.
*
* @link https://github.com/amphp/http/blob/v1.0.1/src/Rfc7230.php#L12-L15
* @license https://github.com/amphp/http/blob/v1.0.1/LICENSE
*/
const HEADER_REGEX = "(^([^()<>@,;:\\\"/[\]?={}\x01-\x20\x7F]++):[ \t]*+((?:[ \t]*+[\x21-\x7E\x80-\xFF]++)*+)[ \t]*+\r?\n)m";
const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)";
}

View File

@@ -166,7 +166,7 @@ class ServerRequest extends Request implements ServerRequestInterface
public static function fromGlobals()
{
$method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET';
$headers = function_exists('getallheaders') ? getallheaders() : [];
$headers = getallheaders();
$uri = self::getUriFromGlobals();
$body = new LazyOpenStream('php://input', 'r+');
$protocol = isset($_SERVER['SERVER_PROTOCOL']) ? str_replace('HTTP/', '', $_SERVER['SERVER_PROTOCOL']) : '1.1';
@@ -180,23 +180,41 @@ class ServerRequest extends Request implements ServerRequestInterface
->withUploadedFiles(self::normalizeFiles($_FILES));
}
private static function extractHostAndPortFromAuthority($authority)
{
$uri = 'http://'.$authority;
$parts = parse_url($uri);
if (false === $parts) {
return [null, null];
}
$host = isset($parts['host']) ? $parts['host'] : null;
$port = isset($parts['port']) ? $parts['port'] : null;
return [$host, $port];
}
/**
* Get a Uri populated with values from $_SERVER.
*
* @return UriInterface
*/
public static function getUriFromGlobals() {
public static function getUriFromGlobals()
{
$uri = new Uri('');
$uri = $uri->withScheme(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http');
$hasPort = false;
if (isset($_SERVER['HTTP_HOST'])) {
$hostHeaderParts = explode(':', $_SERVER['HTTP_HOST']);
$uri = $uri->withHost($hostHeaderParts[0]);
if (isset($hostHeaderParts[1])) {
list($host, $port) = self::extractHostAndPortFromAuthority($_SERVER['HTTP_HOST']);
if ($host !== null) {
$uri = $uri->withHost($host);
}
if ($port !== null) {
$hasPort = true;
$uri = $uri->withPort($hostHeaderParts[1]);
$uri = $uri->withPort($port);
}
} elseif (isset($_SERVER['SERVER_NAME'])) {
$uri = $uri->withHost($_SERVER['SERVER_NAME']);
@@ -210,7 +228,7 @@ class ServerRequest extends Request implements ServerRequestInterface
$hasQuery = false;
if (isset($_SERVER['REQUEST_URI'])) {
$requestUriParts = explode('?', $_SERVER['REQUEST_URI']);
$requestUriParts = explode('?', $_SERVER['REQUEST_URI'], 2);
$uri = $uri->withPath($requestUriParts[0]);
if (isset($requestUriParts[1])) {
$hasQuery = true;

View File

@@ -24,11 +24,11 @@ class Stream implements StreamInterface
'r' => true, 'w+' => true, 'r+' => true, 'x+' => true, 'c+' => true,
'rb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true,
'c+b' => true, 'rt' => true, 'w+t' => true, 'r+t' => true,
'x+t' => true, 'c+t' => true, 'a+' => true
'x+t' => true, 'c+t' => true, 'a+' => true, 'rb+' => true,
],
'write' => [
'w' => true, 'w+' => true, 'rw' => true, 'r+' => true, 'x+' => true,
'c+' => true, 'wb' => true, 'w+b' => true, 'r+b' => true,
'c+' => true, 'wb' => true, 'w+b' => true, 'r+b' => true, 'rb+' => true,
'x+b' => true, 'c+b' => true, 'w+t' => true, 'r+t' => true,
'x+t' => true, 'c+t' => true, 'a' => true, 'a+' => true
]
@@ -70,15 +70,6 @@ class Stream implements StreamInterface
$this->uri = $this->getMetadata('uri');
}
public function __get($name)
{
if ($name == 'stream') {
throw new \RuntimeException('The stream is detached');
}
throw new \BadMethodCallException('No value for ' . $name);
}
/**
* Closes the stream when the destructed
*/
@@ -99,6 +90,10 @@ class Stream implements StreamInterface
public function getContents()
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
}
$contents = stream_get_contents($this->stream);
if ($contents === false) {
@@ -173,11 +168,19 @@ class Stream implements StreamInterface
public function eof()
{
return !$this->stream || feof($this->stream);
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
}
return feof($this->stream);
}
public function tell()
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
}
$result = ftell($this->stream);
if ($result === false) {
@@ -194,9 +197,13 @@ class Stream implements StreamInterface
public function seek($offset, $whence = SEEK_SET)
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
}
if (!$this->seekable) {
throw new \RuntimeException('Stream is not seekable');
} elseif (fseek($this->stream, $offset, $whence) === -1) {
}
if (fseek($this->stream, $offset, $whence) === -1) {
throw new \RuntimeException('Unable to seek to stream position '
. $offset . ' with whence ' . var_export($whence, true));
}
@@ -204,6 +211,9 @@ class Stream implements StreamInterface
public function read($length)
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
}
if (!$this->readable) {
throw new \RuntimeException('Cannot read from non-readable stream');
}
@@ -225,6 +235,9 @@ class Stream implements StreamInterface
public function write($string)
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
}
if (!$this->writable) {
throw new \RuntimeException('Cannot write to a non-writable stream');
}

View File

@@ -38,9 +38,21 @@ class StreamWrapper
. 'writable, or both.');
}
return fopen('guzzle://stream', $mode, null, stream_context_create([
return fopen('guzzle://stream', $mode, null, self::createStreamContext($stream));
}
/**
* Creates a stream context that can be used to open a stream as a php stream resource.
*
* @param StreamInterface $stream
*
* @return resource
*/
public static function createStreamContext(StreamInterface $stream)
{
return stream_context_create([
'guzzle' => ['stream' => $stream]
]));
]);
}
/**
@@ -94,12 +106,21 @@ class StreamWrapper
return true;
}
public function stream_cast($cast_as)
{
$stream = clone($this->stream);
return $stream->detach();
}
public function stream_stat()
{
static $modeMap = [
'r' => 33060,
'rb' => 33060,
'r+' => 33206,
'w' => 33188
'w' => 33188,
'wb' => 33188
];
return [
@@ -118,4 +139,23 @@ class StreamWrapper
'blocks' => 0
];
}
public function url_stat($path, $flags)
{
return [
'dev' => 0,
'ino' => 0,
'mode' => 0,
'nlink' => 0,
'uid' => 0,
'gid' => 0,
'rdev' => 0,
'size' => 0,
'atime' => 0,
'mtime' => 0,
'ctime' => 0,
'blksize' => 0,
'blocks' => 0
];
}
}

View File

@@ -301,15 +301,7 @@ class Uri implements UriInterface
*/
public static function withoutQueryValue(UriInterface $uri, $key)
{
$current = $uri->getQuery();
if ($current === '') {
return $uri;
}
$decodedKey = rawurldecode($key);
$result = array_filter(explode('&', $current), function ($part) use ($decodedKey) {
return rawurldecode(explode('=', $part)[0]) !== $decodedKey;
});
$result = self::getFilteredQueryString($uri, [$key]);
return $uri->withQuery(implode('&', $result));
}
@@ -331,26 +323,29 @@ class Uri implements UriInterface
*/
public static function withQueryValue(UriInterface $uri, $key, $value)
{
$current = $uri->getQuery();
$result = self::getFilteredQueryString($uri, [$key]);
if ($current === '') {
$result = [];
} else {
$decodedKey = rawurldecode($key);
$result = array_filter(explode('&', $current), function ($part) use ($decodedKey) {
return rawurldecode(explode('=', $part)[0]) !== $decodedKey;
});
}
$result[] = self::generateQueryString($key, $value);
// Query string separators ("=", "&") within the key or value need to be encoded
// (while preventing double-encoding) before setting the query string. All other
// chars that need percent-encoding will be encoded by withQuery().
$key = strtr($key, self::$replaceQuery);
return $uri->withQuery(implode('&', $result));
}
if ($value !== null) {
$result[] = $key . '=' . strtr($value, self::$replaceQuery);
} else {
$result[] = $key;
/**
* Creates a new URI with multiple specific query string values.
*
* It has the same behavior as withQueryValue() but for an associative array of key => value.
*
* @param UriInterface $uri URI to use as a base.
* @param array $keyValueArray Associative array of key and values
*
* @return UriInterface
*/
public static function withQueryValues(UriInterface $uri, array $keyValueArray)
{
$result = self::getFilteredQueryString($uri, array_keys($keyValueArray));
foreach ($keyValueArray as $key => $value) {
$result[] = self::generateQueryString($key, $value);
}
return $uri->withQuery(implode('&', $result));
@@ -620,6 +615,47 @@ class Uri implements UriInterface
return $port;
}
/**
* @param UriInterface $uri
* @param array $keys
*
* @return array
*/
private static function getFilteredQueryString(UriInterface $uri, array $keys)
{
$current = $uri->getQuery();
if ($current === '') {
return [];
}
$decodedKeys = array_map('rawurldecode', $keys);
return array_filter(explode('&', $current), function ($part) use ($decodedKeys) {
return !in_array(rawurldecode(explode('=', $part)[0]), $decodedKeys, true);
});
}
/**
* @param string $key
* @param string|null $value
*
* @return string
*/
private static function generateQueryString($key, $value)
{
// Query string separators ("=", "&") within the key or value need to be encoded
// (while preventing double-encoding) before setting the query string. All other
// chars that need percent-encoding will be encoded by withQuery().
$queryString = strtr($key, self::$replaceQuery);
if ($value !== null) {
$queryString .= '=' . strtr($value, self::$replaceQuery);
}
return $queryString;
}
private function removeDefaultPort()
{
if ($this->port !== null && self::isDefaultPort($this)) {

View File

@@ -69,10 +69,10 @@ function uri_for($uri)
* - metadata: Array of custom metadata.
* - size: Size of the stream.
*
* @param resource|string|null|int|float|bool|StreamInterface|callable $resource Entity body data
* @param array $options Additional options
* @param resource|string|null|int|float|bool|StreamInterface|callable|\Iterator $resource Entity body data
* @param array $options Additional options
*
* @return Stream
* @return StreamInterface
* @throws \InvalidArgumentException if the $resource arg is not valid.
*/
function stream_for($resource = '', array $options = [])
@@ -238,7 +238,7 @@ function modify_request(RequestInterface $request, array $changes)
}
if ($request instanceof ServerRequestInterface) {
return new ServerRequest(
return (new ServerRequest(
isset($changes['method']) ? $changes['method'] : $request->getMethod(),
$uri,
$headers,
@@ -247,7 +247,11 @@ function modify_request(RequestInterface $request, array $changes)
? $changes['version']
: $request->getProtocolVersion(),
$request->getServerParams()
);
))
->withParsedBody($request->getParsedBody())
->withQueryParams($request->getQueryParams())
->withCookieParams($request->getCookieParams())
->withUploadedFiles($request->getUploadedFiles());
}
return new Request(
@@ -431,7 +435,7 @@ function hash(
* @param StreamInterface $stream Stream to read from
* @param int $maxLength Maximum buffer length
*
* @return string|bool
* @return string
*/
function readline(StreamInterface $stream, $maxLength = null)
{
@@ -495,7 +499,7 @@ function parse_response($message)
// between status-code and reason-phrase is required. But browsers accept
// responses without space and reason as well.
if (!preg_match('/^HTTP\/.* [0-9]{3}( .*|$)/', $data['start-line'])) {
throw new \InvalidArgumentException('Invalid response string');
throw new \InvalidArgumentException('Invalid response string: ' . $data['start-line']);
}
$parts = explode(' ', $data['start-line'], 3);
@@ -516,8 +520,8 @@ function parse_response($message)
* PHP style arrays into an associative array (e.g., foo[a]=1&foo[b]=2 will
* be parsed into ['foo[a]' => '1', 'foo[b]' => '2']).
*
* @param string $str Query string to parse
* @param bool|string $urlEncoding How the query string is encoded
* @param string $str Query string to parse
* @param int|bool $urlEncoding How the query string is encoded
*
* @return array
*/
@@ -533,9 +537,9 @@ function parse_query($str, $urlEncoding = true)
$decoder = function ($value) {
return rawurldecode(str_replace('+', ' ', $value));
};
} elseif ($urlEncoding == PHP_QUERY_RFC3986) {
} elseif ($urlEncoding === PHP_QUERY_RFC3986) {
$decoder = 'rawurldecode';
} elseif ($urlEncoding == PHP_QUERY_RFC1738) {
} elseif ($urlEncoding === PHP_QUERY_RFC1738) {
$decoder = 'urldecode';
} else {
$decoder = function ($str) { return $str; };
@@ -633,6 +637,7 @@ function mimetype_from_filename($filename)
function mimetype_from_extension($extension)
{
static $mimetypes = [
'3gp' => 'video/3gpp',
'7z' => 'application/x-7z-compressed',
'aac' => 'audio/x-aac',
'ai' => 'application/postscript',
@@ -680,6 +685,7 @@ function mimetype_from_extension($extension)
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'mov' => 'video/quicktime',
'mkv' => 'video/x-matroska',
'mp3' => 'audio/mpeg',
'mp4' => 'video/mp4',
'mp4a' => 'audio/mp4',
@@ -758,29 +764,53 @@ function _parse_message($message)
throw new \InvalidArgumentException('Invalid message');
}
// Iterate over each line in the message, accounting for line endings
$lines = preg_split('/(\\r?\\n)/', $message, -1, PREG_SPLIT_DELIM_CAPTURE);
$result = ['start-line' => array_shift($lines), 'headers' => [], 'body' => ''];
array_shift($lines);
$message = ltrim($message, "\r\n");
for ($i = 0, $totalLines = count($lines); $i < $totalLines; $i += 2) {
$line = $lines[$i];
// If two line breaks were encountered, then this is the end of body
if (empty($line)) {
if ($i < $totalLines - 1) {
$result['body'] = implode('', array_slice($lines, $i + 2));
}
break;
}
if (strpos($line, ':')) {
$parts = explode(':', $line, 2);
$key = trim($parts[0]);
$value = isset($parts[1]) ? trim($parts[1]) : '';
$result['headers'][$key][] = $value;
}
$messageParts = preg_split("/\r?\n\r?\n/", $message, 2);
if ($messageParts === false || count($messageParts) !== 2) {
throw new \InvalidArgumentException('Invalid message: Missing header delimiter');
}
return $result;
list($rawHeaders, $body) = $messageParts;
$rawHeaders .= "\r\n"; // Put back the delimiter we split previously
$headerParts = preg_split("/\r?\n/", $rawHeaders, 2);
if ($headerParts === false || count($headerParts) !== 2) {
throw new \InvalidArgumentException('Invalid message: Missing status line');
}
list($startLine, $rawHeaders) = $headerParts;
if (preg_match("/(?:^HTTP\/|^[A-Z]+ \S+ HTTP\/)(\d+(?:\.\d+)?)/i", $startLine, $matches) && $matches[1] === '1.0') {
// Header folding is deprecated for HTTP/1.1, but allowed in HTTP/1.0
$rawHeaders = preg_replace(Rfc7230::HEADER_FOLD_REGEX, ' ', $rawHeaders);
}
/** @var array[] $headerLines */
$count = preg_match_all(Rfc7230::HEADER_REGEX, $rawHeaders, $headerLines, PREG_SET_ORDER);
// If these aren't the same, then one line didn't match and there's an invalid header.
if ($count !== substr_count($rawHeaders, "\n")) {
// Folding is deprecated, see https://tools.ietf.org/html/rfc7230#section-3.2.4
if (preg_match(Rfc7230::HEADER_FOLD_REGEX, $rawHeaders)) {
throw new \InvalidArgumentException('Invalid header syntax: Obsolete line folding');
}
throw new \InvalidArgumentException('Invalid header syntax');
}
$headers = [];
foreach ($headerLines as $headerLine) {
$headers[$headerLine[1]][] = $headerLine[2];
}
return [
'start-line' => $startLine,
'headers' => $headers,
'body' => $body,
];
}
/**
@@ -809,6 +839,46 @@ function _parse_request_uri($path, array $headers)
return $scheme . '://' . $host . '/' . ltrim($path, '/');
}
/**
* Get a short summary of the message body
*
* Will return `null` if the response is not printable.
*
* @param MessageInterface $message The message to get the body summary
* @param int $truncateAt The maximum allowed size of the summary
*
* @return null|string
*/
function get_message_body_summary(MessageInterface $message, $truncateAt = 120)
{
$body = $message->getBody();
if (!$body->isSeekable() || !$body->isReadable()) {
return null;
}
$size = $body->getSize();
if ($size === 0) {
return null;
}
$summary = $body->read($truncateAt);
$body->rewind();
if ($size > $truncateAt) {
$summary .= ' (truncated...)';
}
// Matches any printable character, including unicode characters:
// letters, marks, numbers, punctuation, spacing, and separators.
if (preg_match('/[^\pL\pM\pN\pP\pS\pZ\n\r\t]/', $summary)) {
return null;
}
return $summary;
}
/** @internal */
function _caseless_remove($keys, array $data)
{

View File

@@ -1,18 +1,19 @@
language: php
php:
- 5.3.3
- 5.4
- 5.5
- 5.6
- 7.0
- hhvm
- hhvm-nightly
- 7.1
- 7.2
matrix:
allowed_failures:
- php: 7.0
- php: hhvm-nightly
sudo: false
cache:
directories:
- vendor
- $HOME/.composer/cache
before_script:
- composer install --no-interaction --prefer-source

View File

@@ -37,4 +37,6 @@ echo $highlighter->getWholeFile($fileContent);
------
[![Downloads this Month](https://img.shields.io/packagist/dm/jakub-onderka/php-console-highlighter.svg)](https://packagist.org/packages/jakub-onderka/php-console-highlighter)
[![Build Status](https://travis-ci.org/JakubOnderka/PHP-Console-Highlighter.svg?branch=master)](https://travis-ci.org/JakubOnderka/PHP-Console-Highlighter)
[![License](https://poser.pugx.org/jakub-onderka/php-console-highlighter/license.svg)](https://packagist.org/packages/jakub-onderka/php-console-highlighter)

View File

@@ -1,5 +1,6 @@
{
"name": "jakub-onderka/php-console-highlighter",
"description": "Highlight PHP code in terminal",
"type": "library",
"license": "MIT",
"authors": [
@@ -10,15 +11,16 @@
}
],
"autoload": {
"psr-0": {"JakubOnderka\\PhpConsoleHighlighter": "src/"}
"psr-4": {"JakubOnderka\\PhpConsoleHighlighter\\": "src/"}
},
"require": {
"php": ">=5.3.0",
"jakub-onderka/php-console-color": "~0.1"
"php": ">=5.4.0",
"ext-tokenizer": "*",
"jakub-onderka/php-console-color": "~0.2"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"jakub-onderka/php-parallel-lint": "~0.5",
"jakub-onderka/php-parallel-lint": "~1.0",
"jakub-onderka/php-var-dump-check": "~0.1",
"squizlabs/php_codesniffer": "~1.5",
"jakub-onderka/php-code-style": "~1.0"

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="tests/bootstrap.php">
<phpunit bootstrap="./vendor/autoload.php">
<testsuites>
<testsuite>
<directory>tests/*</directory>
<directory suffix="Test.php">tests</directory>
</testsuite>
</testsuites>

View File

@@ -31,6 +31,7 @@ class Highlighter
/**
* @param ConsoleColor $color
* @throws \JakubOnderka\PhpConsoleColor\InvalidStyleException
*/
public function __construct(ConsoleColor $color)
{
@@ -118,20 +119,6 @@ class Highlighter
foreach ($tokens as $token) {
if (is_array($token)) {
switch ($token[0]) {
case T_INLINE_HTML:
$newType = self::TOKEN_HTML;
break;
case T_COMMENT:
case T_DOC_COMMENT:
$newType = self::TOKEN_COMMENT;
break;
case T_ENCAPSED_AND_WHITESPACE:
case T_CONSTANT_ENCAPSED_STRING:
$newType = self::TOKEN_STRING;
break;
case T_WHITESPACE:
break;
@@ -151,17 +138,26 @@ class Highlighter
case T_LINE:
case T_CLASS_C:
case T_FUNC_C:
//case T_TRAIT_C:
case T_TRAIT_C:
$newType = self::TOKEN_DEFAULT;
break;
case T_COMMENT:
case T_DOC_COMMENT:
$newType = self::TOKEN_COMMENT;
break;
case T_ENCAPSED_AND_WHITESPACE:
case T_CONSTANT_ENCAPSED_STRING:
$newType = self::TOKEN_STRING;
break;
case T_INLINE_HTML:
$newType = self::TOKEN_HTML;
break;
default:
// Compatibility with PHP 5.3
if (defined('T_TRAIT_C') && $token[0] === T_TRAIT_C) {
$newType = self::TOKEN_DEFAULT;
} else {
$newType = self::TOKEN_KEYWORD;
}
$newType = self::TOKEN_KEYWORD;
}
} else {
$newType = $token === '"' ? self::TOKEN_STRING : self::TOKEN_KEYWORD;
@@ -171,7 +167,7 @@ class Highlighter
$currentType = $newType;
}
if ($currentType != $newType) {
if ($currentType !== $newType) {
$output[] = array($currentType, $buffer);
$buffer = '';
$currentType = $newType;

View File

@@ -8,7 +8,9 @@ class HighlighterTest extends \PHPUnit_Framework_TestCase
protected function getConsoleColorMock()
{
$mock = $this->getMock('\JakubOnderka\PhpConsoleColor\ConsoleColor');
$mock = method_exists($this, 'createMock')
? $this->createMock('\JakubOnderka\PhpConsoleColor\ConsoleColor')
: $this->getMock('\JakubOnderka\PhpConsoleColor\ConsoleColor');
$mock->expects($this->any())
->method('apply')
@@ -260,4 +262,13 @@ EOL
''
);
}
public function testWhitespace()
{
$this->compare(
' '
,
'<token_html> </token_html>'
);
}
}

View File

@@ -1,2 +0,0 @@
<?php
$loader = require_once __DIR__ . '/../vendor/autoload.php';

View File

@@ -21,6 +21,8 @@
"doctrine/inflector": "^1.1",
"dragonmantank/cron-expression": "^2.0",
"erusev/parsedown": "^1.7",
"laravel/nexmo-notification-channel": "^1.0",
"laravel/slack-notification-channel": "^1.0",
"league/flysystem": "^1.0.8",
"monolog/monolog": "^1.12",
"nesbot/carbon": "^1.26.3",
@@ -77,6 +79,7 @@
"aws/aws-sdk-php": "^3.0",
"doctrine/dbal": "^2.6",
"filp/whoops": "^2.1.4",
"guzzlehttp/guzzle": "^6.3",
"league/flysystem-cached-adapter": "^1.0",
"mockery/mockery": "^1.0",
"moontoast/math": "^1.1",
@@ -115,6 +118,7 @@
"ext-posix": "Required to use all features of the queue worker.",
"aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).",
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).",
"filp/whoops": "Required for friendly error pages in development (^2.1.4).",
"fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).",
"guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).",
"laravel/tinker": "Required to use the tinker console command (^1.0).",

View File

@@ -385,7 +385,6 @@ class Gate implements GateContract
* Determine if the callback allows guests.
*
* @param callable $callback
* @param array $arguments
* @return bool
*/
protected function callbackAllowsGuests($callback)
@@ -452,7 +451,7 @@ class Gate implements GateContract
* @param string $ability
* @param array $arguments
* @param bool $result
* @return void
* @return bool|null
*/
protected function callAfterCallbacks($user, $ability, array $arguments, $result)
{

View File

@@ -19,7 +19,7 @@ class HomeController extends Controller
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{

View File

@@ -12,7 +12,7 @@
@csrf
<div class="form-group row">
<label for="email" class="col-sm-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required autofocus>
@@ -57,9 +57,11 @@
{{ __('Login') }}
</button>
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
</a>
@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
</a>
@endif
</div>
</div>
</form>

View File

@@ -13,7 +13,7 @@
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="https://fonts.gstatic.com">
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">
<!-- Styles -->
@@ -43,11 +43,11 @@
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
<li class="nav-item">
@if (Route::has('register'))
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
@endif
</li>
</li>
@endif
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>

View File

@@ -146,7 +146,7 @@ class PasswordBroker implements PasswordBrokerContract
public function validateNewPassword(array $credentials)
{
if (isset($this->passwordValidator)) {
list($password, $confirm) = [
[$password, $confirm] = [
$credentials['password'],
$credentials['password_confirmation'],
];
@@ -167,7 +167,7 @@ class PasswordBroker implements PasswordBrokerContract
*/
protected function validatePasswordWithDefaults(array $credentials)
{
list($password, $confirm) = [
[$password, $confirm] = [
$credentials['password'],
$credentials['password_confirmation'],
];

View File

@@ -83,6 +83,6 @@ class Recaller
{
$segments = explode('|', $this->recaller);
return count($segments) == 3 && trim($segments[0]) !== '' && trim($segments[1]) !== '';
return count($segments) === 3 && trim($segments[0]) !== '' && trim($segments[1]) !== '';
}
}

View File

@@ -62,7 +62,7 @@ class CacheManager implements FactoryContract
* Get a cache driver instance.
*
* @param string|null $driver
* @return mixed
* @return \Illuminate\Contracts\Cache\Repository
*/
public function driver($driver = null)
{
@@ -278,6 +278,25 @@ class CacheManager implements FactoryContract
$this->app['config']['cache.default'] = $name;
}
/**
* Unset the given driver instances.
*
* @param array|string|null $name
* @return $this
*/
public function forgetDriver($name = null)
{
$name = $name ?? $this->getDefaultDriver();
foreach ((array) $name as $cacheName) {
if (isset($this->stores[$cacheName])) {
unset($this->stores[$cacheName]);
}
}
return $this;
}
/**
* Register a custom driver creator Closure.
*

View File

@@ -60,7 +60,7 @@ class ClearCommand extends Command
*/
public function handle()
{
$this->laravel['events']->fire(
$this->laravel['events']->dispatch(
'cache:clearing', [$this->argument('store'), $this->tags()]
);
@@ -72,7 +72,7 @@ class ClearCommand extends Command
return $this->error('Failed to clear cache. Make sure you have the appropriate permissions.');
}
$this->laravel['events']->fire(
$this->laravel['events']->dispatch(
'cache:cleared', [$this->argument('store'), $this->tags()]
);

View File

@@ -78,7 +78,7 @@ class MemcachedConnector
*/
protected function setCredentials($memcached, $credentials)
{
list($username, $password) = $credentials;
[$username, $password] = $credentials;
$memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, true);

View File

@@ -12,6 +12,13 @@ class MemcachedStore extends TaggableStore implements LockProvider, Store
{
use InteractsWithTime;
/**
* The maximum value that can be specified as an expiration delta.
*
* @var int
*/
const REALTIME_MAXDELTA_IN_MINUTES = 43200;
/**
* The Memcached instance.
*
@@ -103,7 +110,9 @@ class MemcachedStore extends TaggableStore implements LockProvider, Store
*/
public function put($key, $value, $minutes)
{
$this->memcached->set($this->prefix.$key, $value, $this->toTimestamp($minutes));
$this->memcached->set(
$this->prefix.$key, $value, $this->calculateExpiration($minutes)
);
}
/**
@@ -121,7 +130,9 @@ class MemcachedStore extends TaggableStore implements LockProvider, Store
$prefixedValues[$this->prefix.$key] = $value;
}
$this->memcached->setMulti($prefixedValues, $this->toTimestamp($minutes));
$this->memcached->setMulti(
$prefixedValues, $this->calculateExpiration($minutes)
);
}
/**
@@ -134,7 +145,9 @@ class MemcachedStore extends TaggableStore implements LockProvider, Store
*/
public function add($key, $value, $minutes)
{
return $this->memcached->add($this->prefix.$key, $value, $this->toTimestamp($minutes));
return $this->memcached->add(
$this->prefix.$key, $value, $this->calculateExpiration($minutes)
);
}
/**
@@ -206,6 +219,17 @@ class MemcachedStore extends TaggableStore implements LockProvider, Store
return $this->memcached->flush();
}
/**
* Get the expiration time of the key.
*
* @param int $minutes
* @return int
*/
protected function calculateExpiration($minutes)
{
return $this->toTimestamp($minutes);
}
/**
* Get the UNIX timestamp for the given number of minutes.
*

View File

@@ -70,6 +70,17 @@ class Repository implements CacheContract, ArrayAccess
return ! is_null($this->get($key));
}
/**
* Determine if an item doesn't exist in the cache.
*
* @param string $key
* @return bool
*/
public function missing($key)
{
return ! $this->has($key);
}
/**
* Retrieve an item from the cache by key.
*
@@ -308,7 +319,7 @@ class Repository implements CacheContract, ArrayAccess
}
/**
* Get an item from the cache, or store the default value.
* Get an item from the cache, or execute the given Closure and store the result.
*
* @param string $key
* @param \DateTimeInterface|\DateInterval|float|int $minutes
@@ -332,9 +343,9 @@ class Repository implements CacheContract, ArrayAccess
}
/**
* Get an item from the cache, or store the default value forever.
* Get an item from the cache, or execute the given Closure and store the result forever.
*
* @param string $key
* @param string $key
* @param \Closure $callback
* @return mixed
*/
@@ -344,9 +355,9 @@ class Repository implements CacheContract, ArrayAccess
}
/**
* Get an item from the cache, or store the default value forever.
* Get an item from the cache, or execute the given Closure and store the result forever.
*
* @param string $key
* @param string $key
* @param \Closure $callback
* @return mixed
*/
@@ -554,7 +565,7 @@ class Repository implements CacheContract, ArrayAccess
$duration = $this->parseDateInterval($duration);
if ($duration instanceof DateTimeInterface) {
$duration = Carbon::now()->diffInSeconds(Carbon::createFromTimestamp($duration->getTimestamp()), false) / 60;
$duration = Carbon::now()->diffInRealSeconds($duration, false) / 60;
}
return (int) ($duration * 60) > 0 ? $duration : null;

View File

@@ -65,7 +65,7 @@ class Repository implements ArrayAccess, ConfigContract
foreach ($keys as $key => $default) {
if (is_numeric($key)) {
list($key, $default) = [$default, null];
[$key, $default] = [$default, null];
}
$config[$key] = Arr::get($this->items, $key, $default);

View File

@@ -80,7 +80,7 @@ class Application extends SymfonyApplication implements ApplicationContract
$input = $input ?: new ArgvInput
);
$this->events->fire(
$this->events->dispatch(
new Events\CommandStarting(
$commandName, $input, $output = $output ?: new ConsoleOutput
)
@@ -88,7 +88,7 @@ class Application extends SymfonyApplication implements ApplicationContract
$exitCode = parent::run($input, $output);
$this->events->fire(
$this->events->dispatch(
new Events\CommandFinished($commandName, $input, $output, $exitCode)
);

View File

@@ -123,7 +123,7 @@ class Command extends SymfonyCommand
*/
protected function configureUsingFluentDefinition()
{
list($name, $arguments, $options) = Parser::parse($this->signature);
[$name, $arguments, $options] = Parser::parse($this->signature);
parent::__construct($this->name = $name);
@@ -543,6 +543,14 @@ class Command extends SymfonyCommand
return $level;
}
/**
* {@inheritdoc}
*/
public function isHidden()
{
return $this->hidden;
}
/**
* Get the console command arguments.
*

View File

@@ -48,7 +48,7 @@ trait ConfirmableTrait
protected function getDefaultConfirmCallback()
{
return function () {
return $this->getLaravel()->environment() == 'production';
return $this->getLaravel()->environment() === 'production';
};
}
}

View File

@@ -46,6 +46,7 @@ abstract class GeneratorCommand extends Command
* Execute the console command.
*
* @return bool|null
* @throws \Illuminate\Contracts\Filesystem\FileNotFoundException
*/
public function handle()
{
@@ -152,6 +153,7 @@ abstract class GeneratorCommand extends Command
*
* @param string $name
* @return string
* @throws \Illuminate\Contracts\Filesystem\FileNotFoundException
*/
protected function buildClass($name)
{
@@ -171,7 +173,7 @@ abstract class GeneratorCommand extends Command
{
$stub = str_replace(
['DummyNamespace', 'DummyRootNamespace', 'NamespacedDummyUserModel'],
[$this->getNamespace($name), $this->rootNamespace(), config('auth.providers.users.model')],
[$this->getNamespace($name), $this->rootNamespace(), $this->userProviderModel()],
$stub
);
@@ -223,6 +225,20 @@ abstract class GeneratorCommand extends Command
return $this->laravel->getNamespace();
}
/**
* Get the model for the default guard's user provider.
*
* @return string|null
*/
protected function userProviderModel()
{
$guard = config('auth.defaults.guard');
$provider = config("auth.guards.{$guard}.provider");
return config("auth.providers.{$provider}.model");
}
/**
* Get the console command arguments.
*

View File

@@ -82,7 +82,7 @@ class Parser
*/
protected static function parseArgument($token)
{
list($token, $description) = static::extractDescription($token);
[$token, $description] = static::extractDescription($token);
switch (true) {
case Str::endsWith($token, '?*'):
@@ -108,7 +108,7 @@ class Parser
*/
protected static function parseOption($token)
{
list($token, $description) = static::extractDescription($token);
[$token, $description] = static::extractDescription($token);
$matches = preg_split('/\s*\|\s*/', $token, 2);

View File

@@ -163,7 +163,7 @@ class Event
*/
public function getDefaultOutput()
{
return (DIRECTORY_SEPARATOR == '\\') ? 'NUL' : '/dev/null';
return (DIRECTORY_SEPARATOR === '\\') ? 'NUL' : '/dev/null';
}
/**

View File

@@ -165,7 +165,7 @@ trait ManagesFrequencies
$segments = explode(':', $time);
return $this->spliceIntoPosition(2, (int) $segments[0])
->spliceIntoPosition(1, count($segments) == 2 ? (int) $segments[1] : '0');
->spliceIntoPosition(1, count($segments) === 2 ? (int) $segments[1] : '0');
}
/**

View File

@@ -49,7 +49,7 @@ class BoundMethod
// We will assume an @ sign is used to delimit the class name from the method
// name. We will split on this @ sign and then build a callable array that
// we can pass right back into the "call" method for dependency binding.
$method = count($segments) == 2
$method = count($segments) === 2
? $segments[1] : $defaultMethod;
if (is_null($method)) {
@@ -122,8 +122,10 @@ class BoundMethod
/**
* Get the proper reflection instance for the given callback.
*
* @param callable|string $callback
* @param callable|string $callback
* @return \ReflectionFunctionAbstract
*
* @throws \ReflectionException
*/
protected static function getCallReflector($callback)
{

View File

@@ -3,6 +3,7 @@
namespace Illuminate\Container;
use Closure;
use Exception;
use ArrayAccess;
use LogicException;
use ReflectionClass;
@@ -195,7 +196,7 @@ class Container implements ArrayAccess, ContainerContract
public function isShared($abstract)
{
return isset($this->instances[$abstract]) ||
(isset($this->bindings[$abstract]['shared']) &&
(isset($this->bindings[$abstract]['shared']) &&
$this->bindings[$abstract]['shared'] === true);
}
@@ -220,11 +221,11 @@ class Container implements ArrayAccess, ContainerContract
*/
public function bind($abstract, $concrete = null, $shared = false)
{
$this->dropStaleInstances($abstract);
// If no concrete type was given, we will simply set the concrete type to the
// abstract type. After that, the concrete type to be registered as shared
// without being forced to state their classes in both of the parameters.
$this->dropStaleInstances($abstract);
if (is_null($concrete)) {
$concrete = $abstract;
}
@@ -613,11 +614,15 @@ class Container implements ArrayAccess, ContainerContract
*/
public function get($id)
{
if ($this->has($id)) {
try {
return $this->resolve($id);
}
} catch (Exception $e) {
if ($this->has($id)) {
throw $e;
}
throw new EntryNotFoundException;
throw new EntryNotFoundException;
}
}
/**
@@ -774,7 +779,7 @@ class Container implements ArrayAccess, ContainerContract
$reflector = new ReflectionClass($concrete);
// If the type is not instantiable, the developer is attempting to resolve
// an abstract type such as an Interface of Abstract Class and there is
// an abstract type such as an Interface or Abstract Class and there is
// no binding registered for the abstractions so we need to bail out.
if (! $reflector->isInstantiable()) {
return $this->notInstantiable($concrete);

View File

@@ -16,6 +16,7 @@
"require": {
"php": "^7.1.3",
"illuminate/contracts": "5.7.*",
"illuminate/support": "5.7.*",
"psr/container": "^1.0"
},
"autoload": {

View File

@@ -81,7 +81,7 @@ interface Repository extends CacheInterface
public function forever($key, $value);
/**
* Get an item from the cache, or store the default value.
* Get an item from the cache, or execute the given Closure and store the result.
*
* @param string $key
* @param \DateTimeInterface|\DateInterval|float|int $minutes
@@ -91,18 +91,18 @@ interface Repository extends CacheInterface
public function remember($key, $minutes, Closure $callback);
/**
* Get an item from the cache, or store the default value forever.
* Get an item from the cache, or execute the given Closure and store the result forever.
*
* @param string $key
* @param string $key
* @param \Closure $callback
* @return mixed
*/
public function sear($key, Closure $callback);
/**
* Get an item from the cache, or store the default value forever.
* Get an item from the cache, or execute the given Closure and store the result forever.
*
* @param string $key
* @param string $key
* @param \Closure $callback
* @return mixed
*/

View File

@@ -26,7 +26,7 @@ interface Store
* Store an item in the cache for a given number of minutes.
*
* @param string $key
* @param mixed $value
* @param mixed $value
* @param float|int $minutes
* @return void
*/
@@ -45,7 +45,7 @@ interface Store
* Increment the value of an item in the cache.
*
* @param string $key
* @param mixed $value
* @param mixed $value
* @return int|bool
*/
public function increment($key, $value = 1);
@@ -54,7 +54,7 @@ interface Store
* Decrement the value of an item in the cache.
*
* @param string $key
* @param mixed $value
* @param mixed $value
* @return int|bool
*/
public function decrement($key, $value = 1);
@@ -63,7 +63,7 @@ interface Store
* Store an item in the cache indefinitely.
*
* @param string $key
* @param mixed $value
* @param mixed $value
* @return void
*/
public function forever($key, $value);

View File

@@ -7,18 +7,18 @@ interface Encrypter
/**
* Encrypt the given value.
*
* @param string $value
* @param mixed $value
* @param bool $serialize
* @return string
* @return mixed
*/
public function encrypt($value, $serialize = true);
/**
* Decrypt the given value.
*
* @param string $payload
* @param mixed $payload
* @param bool $unserialize
* @return string
* @return mixed
*/
public function decrypt($payload, $unserialize = true);
}

View File

@@ -61,7 +61,7 @@ interface Filesystem
*
* @param string $path
* @param resource $resource
* @param mixed $options
* @param array $options
* @return bool
*
* @throws \InvalidArgumentException If $resource is not a file handle.

View File

@@ -29,7 +29,7 @@ interface Job
* Release the job back into the queue.
*
* @param int $delay
* @return mixed
* @return void
*/
public function release($delay = 0);

View File

@@ -8,7 +8,7 @@ interface Registrar
* Register a new GET route with the router.
*
* @param string $uri
* @param \Closure|array|string $action
* @param \Closure|array|string|callable $action
* @return \Illuminate\Routing\Route
*/
public function get($uri, $action);
@@ -17,7 +17,7 @@ interface Registrar
* Register a new POST route with the router.
*
* @param string $uri
* @param \Closure|array|string $action
* @param \Closure|array|string|callable $action
* @return \Illuminate\Routing\Route
*/
public function post($uri, $action);
@@ -26,7 +26,7 @@ interface Registrar
* Register a new PUT route with the router.
*
* @param string $uri
* @param \Closure|array|string $action
* @param \Closure|array|string|callable $action
* @return \Illuminate\Routing\Route
*/
public function put($uri, $action);
@@ -35,7 +35,7 @@ interface Registrar
* Register a new DELETE route with the router.
*
* @param string $uri
* @param \Closure|array|string $action
* @param \Closure|array|string|callable $action
* @return \Illuminate\Routing\Route
*/
public function delete($uri, $action);
@@ -44,7 +44,7 @@ interface Registrar
* Register a new PATCH route with the router.
*
* @param string $uri
* @param \Closure|array|string $action
* @param \Closure|array|string|callable $action
* @return \Illuminate\Routing\Route
*/
public function patch($uri, $action);
@@ -53,7 +53,7 @@ interface Registrar
* Register a new OPTIONS route with the router.
*
* @param string $uri
* @param \Closure|array|string $action
* @param \Closure|array|string|callable $action
* @return \Illuminate\Routing\Route
*/
public function options($uri, $action);
@@ -63,7 +63,7 @@ interface Registrar
*
* @param array|string $methods
* @param string $uri
* @param \Closure|array|string $action
* @param \Closure|array|string|callable $action
* @return \Illuminate\Routing\Route
*/
public function match($methods, $uri, $action);

View File

@@ -16,7 +16,7 @@ interface Rule
/**
* Get the validation error message.
*
* @return string
* @return string|array
*/
public function message();
}

View File

@@ -3,13 +3,14 @@
namespace Illuminate\Cookie;
use Illuminate\Support\Arr;
use Illuminate\Support\Traits\Macroable;
use Illuminate\Support\InteractsWithTime;
use Symfony\Component\HttpFoundation\Cookie;
use Illuminate\Contracts\Cookie\QueueingFactory as JarContract;
class CookieJar implements JarContract
{
use InteractsWithTime;
use InteractsWithTime, Macroable;
/**
* The default path (if specified).
@@ -62,7 +63,7 @@ class CookieJar implements JarContract
*/
public function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null)
{
list($path, $domain, $secure, $sameSite) = $this->getPathAndDomain($path, $domain, $secure, $sameSite);
[$path, $domain, $secure, $sameSite] = $this->getPathAndDomain($path, $domain, $secure, $sameSite);
$time = ($minutes == 0) ? 0 : $this->availableAt($minutes * 60);
@@ -176,7 +177,7 @@ class CookieJar implements JarContract
*/
public function setDefaultPathAndDomain($path, $domain, $secure = false, $sameSite = null)
{
list($this->path, $this->domain, $this->secure, $this->sameSite) = [$path, $domain, $secure, $sameSite];
[$this->path, $this->domain, $this->secure, $this->sameSite] = [$path, $domain, $secure, $sameSite];
return $this;
}

View File

@@ -751,6 +751,8 @@ class Connection implements ConnectionInterface
public function reconnect()
{
if (is_callable($this->reconnector)) {
$this->doctrineConnection = null;
return call_user_func($this->reconnector, $this);
}

View File

@@ -37,7 +37,7 @@ class Connector
*/
public function createConnection($dsn, array $config, array $options)
{
list($username, $password) = [
[$username, $password] = [
$config['username'] ?? null, $config['password'] ?? null,
];

View File

@@ -59,9 +59,11 @@ class PostgresConnector extends Connector implements ConnectorInterface
*/
protected function configureEncoding($connection, $config)
{
$charset = $config['charset'];
if (! isset($config['charset'])) {
return;
}
$connection->prepare("set names '$charset'")->execute();
$connection->prepare("set names '{$config['charset']}'")->execute();
}
/**

View File

@@ -21,7 +21,7 @@ class SQLiteConnector extends Connector implements ConnectorInterface
// SQLite supports "in-memory" databases that only last as long as the owning
// connection does. These are useful for tests or for short lifetime store
// querying. In-memory databases may only have a single open connection.
if ($config['database'] == ':memory:') {
if ($config['database'] === ':memory:') {
return $this->createConnection('sqlite::memory:', $config, $options);
}

View File

@@ -4,6 +4,16 @@ namespace Illuminate\Database\Console\Migrations;
class TableGuesser
{
const CREATE_PATTERNS = [
'/^create_(\w+)_table$/',
'/^create_(\w+)$/',
];
const CHANGE_PATTERNS = [
'/_(to|from|in)_(\w+)_table$/',
'/_(to|from|in)_(\w+)$/',
];
/**
* Attempt to guess the table name and "creation" status of the given migration.
*
@@ -12,12 +22,16 @@ class TableGuesser
*/
public static function guess($migration)
{
if (preg_match('/^create_(\w+)_table$/', $migration, $matches)) {
return [$matches[1], $create = true];
foreach (self::CREATE_PATTERNS as $pattern) {
if (preg_match($pattern, $migration, $matches)) {
return [$matches[1], $create = true];
}
}
if (preg_match('/_(to|from|in)_(\w+)_table$/', $migration, $matches)) {
return [$matches[2], $create = false];
foreach (self::CHANGE_PATTERNS as $pattern) {
if (preg_match($pattern, $migration, $matches)) {
return [$matches[2], $create = false];
}
}
}
}

View File

@@ -62,7 +62,7 @@ class DatabaseManager implements ConnectionResolverInterface
*/
public function connection($name = null)
{
list($database, $type) = $this->parseConnectionName($name);
[$database, $type] = $this->parseConnectionName($name);
$name = $name ?: $database;
@@ -180,9 +180,9 @@ class DatabaseManager implements ConnectionResolverInterface
*/
protected function setPdoForType(Connection $connection, $type = null)
{
if ($type == 'read') {
if ($type === 'read') {
$connection->setPdo($connection->getReadPdo());
} elseif ($type == 'write') {
} elseif ($type === 'write') {
$connection->setReadPdo($connection->getPdo());
}

View File

@@ -35,6 +35,8 @@ trait DetectsLostConnections
'Physical connection is not usable',
'TCP Provider: Error code 0x68',
'Name or service not known',
'ORA-03114',
'Packets out of order. Expected',
]);
}
}

View File

@@ -240,7 +240,7 @@ class Builder
*/
public function orWhere($column, $operator = null, $value = null)
{
list($value, $operator) = $this->query->prepareValueAndOperator(
[$value, $operator] = $this->query->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -915,7 +915,7 @@ class Builder
// the parameter list is empty, so we will format the scope name and these
// parameters here. Then, we'll be ready to call the scope on the model.
if (is_int($scope)) {
list($scope, $parameters) = [$parameters, []];
[$scope, $parameters] = [$parameters, []];
}
// Next we'll pass the scope callback to the callScope method which will take
@@ -1114,22 +1114,22 @@ class Builder
$results = [];
foreach ($relations as $name => $constraints) {
// If the "relation" value is actually a numeric key, we can assume that no
// constraints have been specified for the eager load and we'll just put
// an empty Closure with the loader so that we can treat all the same.
// If the "name" value is a numeric key, we can assume that no
// constraints have been specified. We'll just put an empty
// Closure there, so that we can treat them all the same.
if (is_numeric($name)) {
$name = $constraints;
list($name, $constraints) = Str::contains($name, ':')
[$name, $constraints] = Str::contains($name, ':')
? $this->createSelectWithConstraint($name)
: [$name, function () {
//
}];
}
// We need to separate out any nested includes. Which allows the developers
// We need to separate out any nested includes, which allows the developers
// to load deep relationships using "dots" without stating each level of
// the relationship with its own key in the array of eager load names.
// the relationship with its own key in the array of eager-load names.
$results = $this->addNestedWiths($name, $results);
$results[$name] = $constraints;

View File

@@ -63,6 +63,38 @@ class Collection extends BaseCollection implements QueueableCollection
return $this;
}
/**
* Load a set of relationship counts onto the collection.
*
* @param array|string $relations
* @return $this
*/
public function loadCount($relations)
{
if ($this->isEmpty()) {
return $this;
}
$models = $this->first()->newModelQuery()
->whereKey($this->modelKeys())
->select($this->first()->getKeyName())
->withCount(...func_get_args())
->get();
$attributes = Arr::except(
array_keys($models->first()->getAttributes()),
$models->first()->getKeyName()
);
$models->each(function ($model) use ($attributes) {
$this->find($model->getKey())->forceFill(
Arr::only($model->getAttributes(), $attributes)
)->syncOriginalAttributes($attributes);
});
return $this;
}
/**
* Load a set of relationships onto the collection if they are not already eager loaded.
*

View File

@@ -173,7 +173,7 @@ trait GuardsAttributes
*/
public function totallyGuarded()
{
return count($this->getFillable()) == 0 && $this->getGuarded() == ['*'];
return count($this->getFillable()) === 0 && $this->getGuarded() == ['*'];
}
/**

View File

@@ -479,6 +479,8 @@ trait HasAttributes
case 'float':
case 'double':
return $this->fromFloat($value);
case 'decimal':
return $this->asDecimal($value, explode(':', $this->getCasts()[$key], 2)[1]);
case 'string':
return (string) $value;
case 'bool':
@@ -515,6 +517,10 @@ trait HasAttributes
return 'custom_datetime';
}
if ($this->isDecimalCast($this->getCasts()[$key])) {
return 'decimal';
}
return trim(strtolower($this->getCasts()[$key]));
}
@@ -530,6 +536,17 @@ trait HasAttributes
strncmp($cast, 'datetime:', 9) === 0;
}
/**
* Determine if the cast type is a decimal cast.
*
* @param string $cast
* @return bool
*/
protected function isDecimalCast($cast)
{
return strncmp($cast, 'decimal:', 8) === 0;
}
/**
* Set a given attribute on the model.
*
@@ -613,7 +630,7 @@ trait HasAttributes
*/
public function fillJsonAttribute($key, $value)
{
list($key, $path) = explode('->', $key, 2);
[$key, $path] = explode('->', $key, 2);
$this->attributes[$key] = $this->asJson($this->getArrayAttributeWithValue(
$path, $key, $value
@@ -680,6 +697,18 @@ trait HasAttributes
return json_encode($value);
}
/**
* Decode the given JSON back into an array or object.
*
* @param string $value
* @param bool $asObject
* @return mixed
*/
public function fromJson($value, $asObject = false)
{
return json_decode($value, ! $asObject);
}
/**
* Decode the given float.
*
@@ -701,15 +730,15 @@ trait HasAttributes
}
/**
* Decode the given JSON back into an array or object.
* Return a decimal as string.
*
* @param string $value
* @param bool $asObject
* @return mixed
* @param float $value
* @param int $decimals
* @return string
*/
public function fromJson($value, $asObject = false)
protected function asDecimal($value, $decimals)
{
return json_decode($value, ! $asObject);
return number_format($value, $decimals, '.', '');
}
/**
@@ -783,8 +812,8 @@ trait HasAttributes
/**
* Convert a DateTime to a storable string.
*
* @param \DateTime|int $value
* @return string
* @param mixed $value
* @return string|null
*/
public function fromDateTime($value)
{
@@ -981,7 +1010,22 @@ trait HasAttributes
*/
public function syncOriginalAttribute($attribute)
{
$this->original[$attribute] = $this->attributes[$attribute];
return $this->syncOriginalAttributes($attribute);
}
/**
* Sync multiple original attribute with their current values.
*
* @param array|string $attributes
* @return $this
*/
public function syncOriginalAttributes($attributes)
{
$attributes = is_array($attributes) ? $attributes : func_get_args();
foreach ($attributes as $attribute) {
$this->original[$attribute] = $this->attributes[$attribute];
}
return $this;
}

View File

@@ -41,7 +41,6 @@ trait HasRelationships
*/
public static $manyMethods = [
'belongsToMany', 'morphToMany', 'morphedByMany',
'guessBelongsToManyRelation', 'findFirstMethodThatIsntRelation',
];
/**
@@ -91,7 +90,7 @@ trait HasRelationships
{
$instance = $this->newRelatedInstance($related);
list($type, $id) = $this->getMorphs($name, $type, $id);
[$type, $id] = $this->getMorphs($name, $type, $id);
$table = $instance->getTable();
@@ -183,7 +182,7 @@ trait HasRelationships
// use that to get both the class and foreign key that will be utilized.
$name = $name ?: $this->guessBelongsToRelation();
list($type, $id) = $this->getMorphs(
[$type, $id] = $this->getMorphs(
Str::snake($name), $type, $id
);
@@ -266,7 +265,7 @@ trait HasRelationships
*/
protected function guessBelongsToRelation()
{
list($one, $two, $caller) = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);
[$one, $two, $caller] = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);
return $caller['function'];
}
@@ -366,7 +365,7 @@ trait HasRelationships
// Here we will gather up the morph type and ID for the relationship so that we
// can properly query the intermediate table of a relation. Finally, we will
// get the table and create the relationship instances for the developers.
list($type, $id) = $this->getMorphs($name, $type, $id);
[$type, $id] = $this->getMorphs($name, $type, $id);
$table = $instance->getTable();
@@ -546,14 +545,17 @@ trait HasRelationships
}
/**
* Get the relationship name of the belongs to many.
* Get the relationship name of the belongsToMany relationship.
*
* @return string
* @return string|null
*/
protected function guessBelongsToManyRelation()
{
$caller = Arr::first(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), function ($trace) {
return ! in_array($trace['function'], Model::$manyMethods);
return ! in_array(
$trace['function'],
array_merge(static::$manyMethods, ['guessBelongsToManyRelation'])
);
});
return ! is_null($caller) ? $caller['function'] : null;

View File

@@ -43,7 +43,7 @@ trait QueriesRelationships
: 'getRelationExistenceCountQuery';
$hasQuery = $relation->{$method}(
$relation->getRelated()->newQuery(), $this
$relation->getRelated()->newQueryWithoutRelationships(), $this
);
// Next we will call any given callback as an "anonymous" scope so they can get the
@@ -74,6 +74,13 @@ trait QueriesRelationships
{
$relations = explode('.', $relations);
$doesntHave = $operator === '<' && $count === 1;
if ($doesntHave) {
$operator = '>=';
$count = 1;
}
$closure = function ($q) use (&$closure, &$relations, $operator, $count, $callback) {
// In order to nest "has", we need to add count relation constraints on the
// callback Closure. We'll do this by simply passing the Closure its own
@@ -83,7 +90,7 @@ trait QueriesRelationships
: $q->has(array_shift($relations), $operator, $count, 'and', $callback);
};
return $this->has(array_shift($relations), '>=', 1, $boolean, $closure);
return $this->has(array_shift($relations), $doesntHave ? '<' : '>=', 1, $boolean, $closure);
}
/**
@@ -201,8 +208,8 @@ trait QueriesRelationships
unset($alias);
if (count($segments) == 3 && Str::lower($segments[1]) == 'as') {
list($name, $alias) = [$segments[0], $segments[2]];
if (count($segments) === 3 && Str::lower($segments[1]) === 'as') {
[$name, $alias] = [$segments[0], $segments[2]];
}
$relation = $this->getRelationWithoutConstraints($name);

View File

@@ -306,6 +306,8 @@ class FactoryBuilder
* @param array $definition
* @param array $attributes
* @return array
*
* @throws \InvalidArgumentException
*/
protected function applyStates(array $definition, array $attributes = [])
{

View File

@@ -394,6 +394,8 @@ abstract class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializab
$this->getConnectionName()
);
$model->setTable($this->getTable());
return $model;
}
@@ -425,9 +427,9 @@ abstract class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializab
*/
public static function on($connection = null)
{
// First we will just create a fresh instance of this model, and then we can
// set the connection on the model so that it is be used for the queries
// we execute, as well as being set on each relationship we retrieve.
// First we will just create a fresh instance of this model, and then we can set the
// connection on the model so that it is used for the queries we execute, as well
// as being set on every relation we retrieve without a custom connection name.
$instance = new static;
$instance->setConnection($connection);
@@ -542,7 +544,7 @@ abstract class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializab
*/
protected function incrementOrDecrement($column, $amount, $extra, $method)
{
$query = $this->newQuery();
$query = $this->newModelQuery();
if (! $this->exists) {
return $query->{$method}($column, $amount, $extra);
@@ -566,7 +568,7 @@ abstract class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializab
*/
protected function incrementOrDecrementAttributeValue($column, $amount, $extra, $method)
{
$this->{$column} = $this->{$column} + ($method == 'increment' ? $amount : $amount * -1);
$this->{$column} = $this->{$column} + ($method === 'increment' ? $amount : $amount * -1);
$this->forceFill($extra);
@@ -958,9 +960,7 @@ abstract class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializab
*/
public function newQueryWithoutRelationships()
{
return $this->registerGlobalScopes(
$this->newEloquentBuilder($this->newBaseQueryBuilder())->setModel($this)
);
return $this->registerGlobalScopes($this->newModelQuery());
}
/**

View File

@@ -7,9 +7,6 @@ use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Relations\Concerns\SupportsDefaultModels;
/**
* @mixin \Illuminate\Database\Eloquent\Builder
*/
class BelongsTo extends Relation
{
use SupportsDefaultModels;
@@ -111,7 +108,9 @@ class BelongsTo extends Relation
// our eagerly loading query so it returns the proper models from execution.
$key = $this->related->getTable().'.'.$this->ownerKey;
$this->query->whereIn($key, $this->getEagerModelKeys($models));
$whereIn = $this->whereInMethod($this->related, $this->ownerKey);
$this->query->{$whereIn}($key, $this->getEagerModelKeys($models));
}
/**

View File

@@ -209,7 +209,12 @@ class BelongsToMany extends Relation
*/
public function addEagerConstraints(array $models)
{
$this->query->whereIn($this->getQualifiedForeignPivotKeyName(), $this->getKeys($models, $this->parentKey));
$whereIn = $this->whereInMethod($this->parent, $this->parentKey);
$this->query->{$whereIn}(
$this->getQualifiedForeignPivotKeyName(),
$this->getKeys($models, $this->parentKey)
);
}
/**
@@ -360,7 +365,7 @@ class BelongsToMany extends Relation
*
* In addition, new pivot records will receive this value.
*
* @param string $column
* @param string|array $column
* @param mixed $value
* @return $this
*/
@@ -514,7 +519,7 @@ class BelongsToMany extends Relation
return $result;
}
throw (new ModelNotFoundException)->setModel(get_class($this->related));
throw (new ModelNotFoundException)->setModel(get_class($this->related), $id);
}
/**
@@ -788,7 +793,7 @@ class BelongsToMany extends Relation
// the related model's timestamps, to make sure these all reflect the changes
// to the parent models. This will help us keep any caching synced up here.
if (count($ids = $this->allRelatedIds()) > 0) {
$this->getRelated()->newQuery()->whereIn($key, $ids)->update($columns);
$this->getRelated()->newModelQuery()->whereIn($key, $ids)->update($columns);
}
}
@@ -1016,6 +1021,16 @@ class BelongsToMany extends Relation
return $this->table.'.'.$this->relatedPivotKey;
}
/**
* Get the parent key for the relationship.
*
* @return string
*/
public function getParentKeyName()
{
return $this->parentKey;
}
/**
* Get the fully qualified parent key name for the relation.
*
@@ -1026,6 +1041,16 @@ class BelongsToMany extends Relation
return $this->parent->qualifyColumn($this->parentKey);
}
/**
* Get the related key for the relationship.
*
* @return string
*/
public function getRelatedKeyName()
{
return $this->relatedKey;
}
/**
* Get the intermediate table for the relationship.
*

View File

@@ -124,7 +124,7 @@ trait AsPivot
*/
protected function getDeleteQuery()
{
return $this->newQuery()->where([
return $this->newModelQuery()->where([
$this->foreignKey => $this->getOriginal($this->foreignKey, $this->getAttribute($this->foreignKey)),
$this->relatedKey => $this->getOriginal($this->relatedKey, $this->getAttribute($this->relatedKey)),
]);
@@ -247,7 +247,7 @@ trait AsPivot
/**
* Get a new query to restore one or more models by their queueable IDs.
*
* @param array|int $ids
* @param array<int> $ids
* @return \Illuminate\Database\Eloquent\Builder
*/
public function newQueryForRestoration($ids)

View File

@@ -64,7 +64,7 @@ trait InteractsWithPivotTable
/**
* Sync the intermediate tables with a list of IDs without detaching.
*
* @param \Illuminate\Database\Eloquent\Collection|\Illuminate\Support\Collection|array $ids
* @param \Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Model|array $ids
* @return array
*/
public function syncWithoutDetaching($ids)
@@ -75,7 +75,7 @@ trait InteractsWithPivotTable
/**
* Sync the intermediate tables with a list of IDs or collection of models.
*
* @param \Illuminate\Database\Eloquent\Collection|\Illuminate\Support\Collection|array $ids
* @param \Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Model|array $ids
* @param bool $detaching
* @return array
*/
@@ -133,7 +133,7 @@ trait InteractsWithPivotTable
{
return collect($records)->mapWithKeys(function ($attributes, $id) {
if (! is_array($attributes)) {
list($id, $attributes) = [$attributes, []];
[$id, $attributes] = [$attributes, []];
}
return [$id => $attributes];
@@ -258,7 +258,7 @@ trait InteractsWithPivotTable
*/
protected function formatAttachRecord($key, $value, $attributes, $hasTimestamps)
{
list($id, $attributes) = $this->extractAttachIdAndAttributes($key, $value, $attributes);
[$id, $attributes] = $this->extractAttachIdAndAttributes($key, $value, $attributes);
return array_merge(
$this->baseAttachRecord($id, $hasTimestamps), $this->castAttributes($attributes)
@@ -427,7 +427,7 @@ trait InteractsWithPivotTable
*/
public function newPivotStatementForId($id)
{
return $this->newPivotQuery()->where($this->relatedPivotKey, $id);
return $this->newPivotQuery()->whereIn($this->relatedPivotKey, $this->parseIds($id));
}
/**
@@ -507,7 +507,7 @@ trait InteractsWithPivotTable
*/
protected function castKeys(array $keys)
{
return (array) array_map(function ($v) {
return array_map(function ($v) {
return $this->castKey($v);
}, $keys);
}

View File

@@ -146,7 +146,9 @@ class HasManyThrough extends Relation
*/
public function addEagerConstraints(array $models)
{
$this->query->whereIn(
$whereIn = $this->whereInMethod($this->farParent, $this->localKey);
$this->query->{$whereIn}(
$this->getQualifiedFirstKeyName(), $this->getKeys($models, $this->localKey)
);
}
@@ -331,7 +333,7 @@ class HasManyThrough extends Relation
return $result;
}
throw (new ModelNotFoundException)->setModel(get_class($this->related));
throw (new ModelNotFoundException)->setModel(get_class($this->related), $id);
}
/**
@@ -478,10 +480,14 @@ class HasManyThrough extends Relation
*/
public function getRelationExistenceQuery(Builder $query, Builder $parentQuery, $columns = ['*'])
{
if ($parentQuery->getQuery()->from == $query->getQuery()->from) {
if ($parentQuery->getQuery()->from === $query->getQuery()->from) {
return $this->getRelationExistenceQueryForSelfRelation($query, $parentQuery, $columns);
}
if ($parentQuery->getQuery()->from === $this->throughParent->getTable()) {
return $this->getRelationExistenceQueryForThroughSelfRelation($query, $parentQuery, $columns);
}
$this->performJoin($query);
return $query->select($columns)->whereColumn(
@@ -501,7 +507,7 @@ class HasManyThrough extends Relation
{
$query->from($query->getModel()->getTable().' as '.$hash = $this->getRelationCountHash());
$query->join($this->throughParent->getTable(), $this->getQualifiedParentKeyName(), '=', $hash.'.'.$this->secondLocalKey);
$query->join($this->throughParent->getTable(), $this->getQualifiedParentKeyName(), '=', $hash.'.'.$this->secondKey);
if ($this->throughParentSoftDeletes()) {
$query->whereNull($this->throughParent->getQualifiedDeletedAtColumn());
@@ -514,6 +520,29 @@ class HasManyThrough extends Relation
);
}
/**
* Add the constraints for a relationship query on the same table as the through parent.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param \Illuminate\Database\Eloquent\Builder $parentQuery
* @param array|mixed $columns
* @return \Illuminate\Database\Eloquent\Builder
*/
public function getRelationExistenceQueryForThroughSelfRelation(Builder $query, Builder $parentQuery, $columns = ['*'])
{
$table = $this->throughParent->getTable().' as '.$hash = $this->getRelationCountHash();
$query->join($table, $hash.'.'.$this->secondLocalKey, '=', $this->getQualifiedFarKeyName());
if ($this->throughParentSoftDeletes()) {
$query->whereNull($hash.'.'.$this->throughParent->getDeletedAtColumn());
}
return $query->select($columns)->whereColumn(
$parentQuery->getQuery()->from.'.'.$this->localKey, '=', $hash.'.'.$this->firstKey
);
}
/**
* Get a relationship join table hash.
*
@@ -534,6 +563,16 @@ class HasManyThrough extends Relation
return $this->getQualifiedForeignKeyName();
}
/**
* Get the foreign key on the "through" model.
*
* @return string
*/
public function getFirstKeyName()
{
return $this->firstKey;
}
/**
* Get the qualified foreign key on the "through" model.
*
@@ -544,6 +583,16 @@ class HasManyThrough extends Relation
return $this->throughParent->qualifyColumn($this->firstKey);
}
/**
* Get the foreign key on the related model.
*
* @return string
*/
public function getForeignKeyName()
{
return $this->secondKey;
}
/**
* Get the qualified foreign key on the related model.
*
@@ -554,6 +603,16 @@ class HasManyThrough extends Relation
return $this->related->qualifyColumn($this->secondKey);
}
/**
* Get the local key on the far parent model.
*
* @return string
*/
public function getLocalKeyName()
{
return $this->localKey;
}
/**
* Get the qualified local key on the far parent model.
*
@@ -563,4 +622,14 @@ class HasManyThrough extends Relation
{
return $this->farParent->qualifyColumn($this->localKey);
}
/**
* Get the local key on the intermediary model.
*
* @return string
*/
public function getSecondLocalKeyName()
{
return $this->secondLocalKey;
}
}

View File

@@ -81,7 +81,9 @@ abstract class HasOneOrMany extends Relation
*/
public function addEagerConstraints(array $models)
{
$this->query->whereIn(
$whereIn = $this->whereInMethod($this->parent, $this->localKey);
$this->query->{$whereIn}(
$this->foreignKey, $this->getKeys($models, $this->localKey)
);
}
@@ -151,7 +153,7 @@ abstract class HasOneOrMany extends Relation
{
$value = $dictionary[$key];
return $type == 'one' ? reset($value) : $this->related->newCollection($value);
return $type === 'one' ? reset($value) : $this->related->newCollection($value);
}
/**
@@ -420,4 +422,14 @@ abstract class HasOneOrMany extends Relation
{
return $this->foreignKey;
}
/**
* Get the local key for the relationship.
*
* @return string
*/
public function getLocalKeyName()
{
return $this->localKey;
}
}

View File

@@ -124,7 +124,7 @@ class MorphPivot extends Pivot
/**
* Get a new query to restore multiple models by their queueable IDs.
*
* @param array|int $ids
* @param array<int> $ids
* @return \Illuminate\Database\Eloquent\Builder
*/
protected function newQueryForCollectionRestoration(array $ids)

View File

@@ -7,9 +7,6 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
/**
* @mixin \Illuminate\Database\Eloquent\Builder
*/
class MorphTo extends BelongsTo
{
/**

View File

@@ -181,4 +181,14 @@ class MorphToMany extends BelongsToMany
{
return $this->morphClass;
}
/**
* Get the indicator for a reverse relationship.
*
* @return bool
*/
public function getInverse()
{
return $this->inverse;
}
}

View File

@@ -307,6 +307,22 @@ abstract class Relation
return $this->related->getUpdatedAtColumn();
}
/**
* Get the name of the "where in" method for eager loading.
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param string $key
* @return string
*/
protected function whereInMethod(Model $model, $key)
{
return $model->getKeyName() === last(explode('.', $key))
&& $model->getIncrementing()
&& in_array($model->getKeyType(), ['int', 'integer'])
? 'whereIntegerInRaw'
: 'whereIn';
}
/**
* Set or get the morph map for polymorphic relations.
*

View File

@@ -428,7 +428,7 @@ class Migrator
public function getMigrationFiles($paths)
{
return Collection::make($paths)->flatMap(function ($path) {
return $this->files->glob($path.'/*_*.php');
return Str::endsWith($path, '.php') ? [$path] : $this->files->glob($path.'/*_*.php');
})->filter()->sortBy(function ($file) {
return $this->getMigrationName($file);
})->values()->keyBy(function ($file) {

View File

@@ -235,7 +235,7 @@ class Builder
*/
public function selectSub($query, $as)
{
list($query, $bindings) = $this->createSub($query);
[$query, $bindings] = $this->createSub($query);
return $this->selectRaw(
'('.$query.') as '.$this->grammar->wrap($as), $bindings
@@ -271,7 +271,7 @@ class Builder
*/
public function fromSub($query, $as)
{
list($query, $bindings) = $this->createSub($query);
[$query, $bindings] = $this->createSub($query);
return $this->fromRaw('('.$query.') as '.$this->grammar->wrap($as), $bindings);
}
@@ -440,7 +440,7 @@ class Builder
*/
public function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false)
{
list($query, $bindings) = $this->createSub($query);
[$query, $bindings] = $this->createSub($query);
$expression = '('.$query.') as '.$this->grammar->wrap($as);
@@ -592,7 +592,7 @@ class Builder
// Here we will make some assumptions about the operator. If only 2 values are
// passed to the method, we will assume that the operator is an equals sign
// and keep going. Otherwise, we'll require the operator to be passed in.
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -607,7 +607,7 @@ class Builder
// assume that the developer is just short-cutting the '=' operators and
// we will set the operators to '=' and set the values appropriately.
if ($this->invalidOperator($operator)) {
list($value, $operator) = [$operator, '='];
[$value, $operator] = [$operator, '='];
}
// If the value is a Closure, it means the developer is performing an entire
@@ -726,7 +726,7 @@ class Builder
*/
public function orWhere($column, $operator = null, $value = null)
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -755,7 +755,7 @@ class Builder
// assume that the developer is just short-cutting the '=' operators and
// we will set the operators to '=' and set the values appropriately.
if ($this->invalidOperator($operator)) {
list($second, $operator) = [$operator, '='];
[$second, $operator] = [$operator, '='];
}
// Finally, we will add this where clause into this array of clauses that we
@@ -857,11 +857,7 @@ class Builder
// Finally we'll add a binding for each values unless that value is an expression
// in which case we will just skip over it since it will be the query as a raw
// string and not as a parameterized place-holder to be replaced by the PDO.
foreach ($values as $value) {
if (! $value instanceof Expression) {
$this->addBinding($value, 'where');
}
}
$this->addBinding($this->cleanBindings($values), 'where');
return $this;
}
@@ -948,6 +944,45 @@ class Builder
return $this;
}
/**
* Add a "where in raw" clause for integer values to the query.
*
* @param string $column
* @param \Illuminate\Contracts\Support\Arrayable|array $values
* @param string $boolean
* @param bool $not
* @return $this
*/
public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false)
{
$type = $not ? 'NotInRaw' : 'InRaw';
if ($values instanceof Arrayable) {
$values = $values->toArray();
}
foreach ($values as &$value) {
$value = (int) $value;
}
$this->wheres[] = compact('type', 'column', 'values', 'boolean');
return $this;
}
/**
* Add a "where not in raw" clause for integer values to the query.
*
* @param string $column
* @param \Illuminate\Contracts\Support\Arrayable|array $values
* @param string $boolean
* @return $this
*/
public function whereIntegerNotInRaw($column, $values, $boolean = 'and')
{
return $this->whereIntegerInRaw($column, $values, $boolean, true);
}
/**
* Add a "where null" clause to the query.
*
@@ -1067,7 +1102,7 @@ class Builder
*/
public function whereDate($column, $operator, $value = null, $boolean = 'and')
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1088,7 +1123,7 @@ class Builder
*/
public function orWhereDate($column, $operator, $value = null)
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1106,7 +1141,7 @@ class Builder
*/
public function whereTime($column, $operator, $value = null, $boolean = 'and')
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1127,7 +1162,7 @@ class Builder
*/
public function orWhereTime($column, $operator, $value = null)
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1145,7 +1180,7 @@ class Builder
*/
public function whereDay($column, $operator, $value = null, $boolean = 'and')
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1166,7 +1201,7 @@ class Builder
*/
public function orWhereDay($column, $operator, $value = null)
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1184,7 +1219,7 @@ class Builder
*/
public function whereMonth($column, $operator, $value = null, $boolean = 'and')
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1205,7 +1240,7 @@ class Builder
*/
public function orWhereMonth($column, $operator, $value = null)
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1223,7 +1258,7 @@ class Builder
*/
public function whereYear($column, $operator, $value = null, $boolean = 'and')
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1244,7 +1279,7 @@ class Builder
*/
public function orWhereYear($column, $operator, $value = null)
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1526,7 +1561,7 @@ class Builder
{
$type = 'JsonLength';
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1549,7 +1584,7 @@ class Builder
*/
public function orWhereJsonLength($column, $operator, $value = null)
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1652,7 +1687,7 @@ class Builder
// Here we will make some assumptions about the operator. If only 2 values are
// passed to the method, we will assume that the operator is an equals sign
// and keep going. Otherwise, we'll require the operator to be passed in.
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
@@ -1660,7 +1695,7 @@ class Builder
// assume that the developer is just short-cutting the '=' operators and
// we will set the operators to '=' and set the values appropriately.
if ($this->invalidOperator($operator)) {
list($value, $operator) = [$operator, '='];
[$value, $operator] = [$operator, '='];
}
$this->havings[] = compact('type', 'column', 'operator', 'value', 'boolean');
@@ -1682,13 +1717,33 @@ class Builder
*/
public function orHaving($column, $operator = null, $value = null)
{
list($value, $operator) = $this->prepareValueAndOperator(
[$value, $operator] = $this->prepareValueAndOperator(
$value, $operator, func_num_args() === 2
);
return $this->having($column, $operator, $value, 'or');
}
/**
* Add a "having between " clause to the query.
*
* @param string $column
* @param array $values
* @param string $boolean
* @param bool $not
* @return \Illuminate\Database\Query\Builder|static
*/
public function havingBetween($column, array $values, $boolean = 'and', $not = false)
{
$type = 'between';
$this->havings[] = compact('type', 'column', 'values', 'boolean', 'not');
$this->addBinding($this->cleanBindings($values), 'having');
return $this;
}
/**
* Add a raw having clause to the query.
*
@@ -1731,7 +1786,7 @@ class Builder
{
$this->{$this->unions ? 'unionOrders' : 'orders'}[] = [
'column' => $column,
'direction' => strtolower($direction) == 'asc' ? 'asc' : 'desc',
'direction' => strtolower($direction) === 'asc' ? 'asc' : 'desc',
];
return $this;
@@ -2106,8 +2161,10 @@ class Builder
*/
protected function runPaginationCountQuery($columns = ['*'])
{
return $this->cloneWithout(['columns', 'orders', 'limit', 'offset'])
->cloneWithoutBindings(['select', 'order'])
$without = $this->unions ? ['orders', 'limit', 'offset'] : ['columns', 'orders', 'limit', 'offset'];
return $this->cloneWithout($without)
->cloneWithoutBindings($this->unions ? ['order'] : ['select', 'order'])
->setAggregate('count', $this->withoutSelectAliases($columns))
->get()->all();
}
@@ -2420,8 +2477,8 @@ class Builder
*/
public function aggregate($function, $columns = ['*'])
{
$results = $this->cloneWithout(['columns'])
->cloneWithoutBindings(['select'])
$results = $this->cloneWithout($this->unions ? [] : ['columns'])
->cloneWithoutBindings($this->unions ? [] : ['select'])
->setAggregate($function, $columns)
->get($columns);
@@ -2545,7 +2602,7 @@ class Builder
/**
* Insert a new record and get the value of the primary key.
*
* @param array $values
* @param array $values
* @param string|null $sequence
* @return int
*/
@@ -2558,6 +2615,23 @@ class Builder
return $this->processor->processInsertGetId($this, $sql, $values, $sequence);
}
/**
* Insert new records into the table using a subquery.
*
* @param array $columns
* @param \Closure|\Illuminate\Database\Query\Builder|string $query
* @return bool
*/
public function insertUsing(array $columns, $query)
{
[$sql, $bindings] = $this->createSub($query);
return $this->connection->insert(
$this->grammar->compileInsertUsing($this, $columns, $sql),
$this->cleanBindings($bindings)
);
}
/**
* Update a record in the database.
*
@@ -2594,7 +2668,7 @@ class Builder
*
* @param string $column
* @param float|int $amount
* @param array $extra
* @param array $extra
* @return int
*/
public function increment($column, $amount = 1, array $extra = [])
@@ -2615,7 +2689,7 @@ class Builder
*
* @param string $column
* @param float|int $amount
* @param array $extra
* @param array $extra
* @return int
*/
public function decrement($column, $amount = 1, array $extra = [])

View File

@@ -46,6 +46,10 @@ class Grammar extends BaseGrammar
*/
public function compileSelect(Builder $query)
{
if ($query->unions && $query->aggregate) {
return $this->compileUnionAggregate($query);
}
// If the query does not have any columns set, we'll set the columns to the
// * character to just get all of the columns from the database. Then we
// can build the query and concatenate all the pieces together as one.
@@ -81,7 +85,7 @@ class Grammar extends BaseGrammar
// To compile the query, we'll spin through each component of the query and
// see if that component exists. If it does we'll just call the compiler
// function for the component which is responsible for making the SQL.
if (! is_null($query->$component)) {
if (isset($query->$component) && ! is_null($query->$component)) {
$method = 'compile'.ucfirst($component);
$sql[$component] = $this->$method($query, $query->$component);
@@ -159,7 +163,9 @@ class Grammar extends BaseGrammar
$nestedJoins = is_null($join->joins) ? '' : ' '.$this->compileJoins($query, $join->joins);
return trim("{$join->type} join {$table}{$nestedJoins} {$this->compileWheres($join)}");
$tableAndNestedJoins = is_null($join->joins) ? $table : '('.$table.$nestedJoins.')';
return trim("{$join->type} join {$tableAndNestedJoins} {$this->compileWheres($join)}");
})->implode(' ');
}
@@ -273,6 +279,24 @@ class Grammar extends BaseGrammar
return '1 = 1';
}
/**
* Compile a "where not in raw" clause.
*
* For safety, whereIntegerInRaw ensures this method is only used with integer values.
*
* @param \Illuminate\Database\Query\Builder $query
* @param array $where
* @return string
*/
protected function whereNotInRaw(Builder $query, $where)
{
if (! empty($where['values'])) {
return $this->wrap($where['column']).' not in ('.implode(', ', $where['values']).')';
}
return '1 = 1';
}
/**
* Compile a where in sub-select clause.
*
@@ -297,6 +321,24 @@ class Grammar extends BaseGrammar
return $this->wrap($where['column']).' not in ('.$this->compileSelect($where['query']).')';
}
/**
* Compile a "where in raw" clause.
*
* For safety, whereIntegerInRaw ensures this method is only used with integer values.
*
* @param \Illuminate\Database\Query\Builder $query
* @param array $where
* @return string
*/
protected function whereInRaw(Builder $query, $where)
{
if (! empty($where['values'])) {
return $this->wrap($where['column']).' in ('.implode(', ', $where['values']).')';
}
return '0 = 1';
}
/**
* Compile a "where null" clause.
*
@@ -606,6 +648,8 @@ class Grammar extends BaseGrammar
// clause into SQL based on the components that make it up from builder.
if ($having['type'] === 'Raw') {
return $having['boolean'].' '.$having['sql'];
} elseif ($having['type'] === 'between') {
return $this->compileHavingBetween($having);
}
return $this->compileBasicHaving($having);
@@ -626,6 +670,25 @@ class Grammar extends BaseGrammar
return $having['boolean'].' '.$column.' '.$having['operator'].' '.$parameter;
}
/**
* Compile a "between" having clause.
*
* @param array $having
* @return string
*/
protected function compileHavingBetween($having)
{
$between = $having['not'] ? 'not between' : 'between';
$column = $this->wrap($having['column']);
$min = $this->parameter(head($having['values']));
$max = $this->parameter(last($having['values']));
return $having['boolean'].' '.$column.' '.$between.' '.$min.' and '.$max;
}
/**
* Compile the "order by" portions of the query.
*
@@ -735,6 +798,21 @@ class Grammar extends BaseGrammar
return $conjunction.$union['query']->toSql();
}
/**
* Compile a union aggregate query into SQL.
*
* @param \Illuminate\Database\Query\Builder $query
* @return string
*/
protected function compileUnionAggregate(Builder $query)
{
$sql = $this->compileAggregate($query, $query->aggregate);
$query->aggregate = null;
return $sql.' from ('.$this->compileSelect($query).') as '.$this->wrapTable('temp_table');
}
/**
* Compile an exists statement into SQL.
*
@@ -791,6 +869,19 @@ class Grammar extends BaseGrammar
return $this->compileInsert($query, $values);
}
/**
* Compile an insert statement using a subquery into SQL.
*
* @param \Illuminate\Database\Query\Builder $query
* @param array $columns
* @param string $sql
* @return string
*/
public function compileInsertUsing(Builder $query, array $columns, string $sql)
{
return "insert into {$this->wrapTable($query->from)} ({$this->columnize($columns)}) $sql";
}
/**
* Compile an update statement into SQL.
*

View File

@@ -43,6 +43,10 @@ class MySqlGrammar extends Grammar
*/
public function compileSelect(Builder $query)
{
if ($query->unions && $query->aggregate) {
return $this->compileUnionAggregate($query);
}
$sql = parent::compileSelect($query);
if ($query->unions) {
@@ -74,7 +78,7 @@ class MySqlGrammar extends Grammar
*/
protected function compileJsonLength($column, $operator, $value)
{
list($field, $path) = $this->wrapJsonFieldAndPath($column);
[$field, $path] = $this->wrapJsonFieldAndPath($column);
return 'json_length('.$field.$path.') '.$operator.' '.$value;
}
@@ -194,7 +198,7 @@ class MySqlGrammar extends Grammar
*/
protected function compileJsonUpdateColumn($key, JsonExpression $value)
{
list($field, $path) = $this->wrapJsonFieldAndPath($key);
[$field, $path] = $this->wrapJsonFieldAndPath($key);
return "{$field} = json_set({$field}{$path}, {$value->getValue()})";
}

View File

@@ -360,7 +360,7 @@ class PostgresGrammar extends Grammar
*/
public function compileTruncate(Builder $query)
{
return ['truncate '.$this->wrapTable($query->from).' restart identity' => []];
return ['truncate '.$this->wrapTable($query->from).' restart identity cascade' => []];
}
/**

View File

@@ -46,6 +46,10 @@ class SQLiteGrammar extends Grammar
*/
public function compileSelect(Builder $query)
{
if ($query->unions && $query->aggregate) {
return $this->compileUnionAggregate($query);
}
$sql = parent::compileSelect($query);
if ($query->unions) {
@@ -153,7 +157,7 @@ class SQLiteGrammar extends Grammar
*/
protected function compileJsonLength($column, $operator, $value)
{
list($field, $path) = $this->wrapJsonFieldAndPath($column);
[$field, $path] = $this->wrapJsonFieldAndPath($column);
return 'json_array_length('.$field.$path.') '.$operator.' '.$value;
}
@@ -303,8 +307,6 @@ class SQLiteGrammar extends Grammar
$path = count($parts) > 1 ? ', '.$this->wrapJsonPath($parts[1]) : '';
$selector = 'json_extract('.$field.$path.')';
return $selector;
return 'json_extract('.$field.$path.')';
}
}

Some files were not shown because too many files have changed in this diff Show More