classLaravelExtension
final class LaravelExtension
implements ModelProviderInterface
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Laravel's raw SQL calls and Query Builder/Eloquent execution boundaries.
Methods§
public function __construct(private Dialects $dialects = new \SqlCatalog\Core\Sql\Dialects())public function name(): stringThe name the command line selects this extension by.
Returns
stringTest cases 1
public function description(): stringWhat the extension covers.
Returns
stringTest cases 1
public function sinks(): list<SinkSpec>The Laravel calls that carry a statement.
Returns
list<SinkSpec>Test cases 10
CallbackEffectsTest::testApplyFollowsMutationsOfTheCallbackParametercallsCallbackEffectsTest::testApplyRunsClosureEffectsThroughCapturedAliasesOfItsReceivercallsBuilderQueriesTest::testStatementsCompilesReceiverAndBindingsDerivedFromTheSameBranchcallsCallbackModelTest::testApplyRunsSourceDeclaredLocalScopescallsCallbackModelTest::testConditionalKeepsBothOutcomesOfWhenAndUnlesscallsCallbackModelTest::testNestedRestoresOuterClausesAndGroupsOnlyNewPredicatescallsLaravelExtensionTest::testBuilderMethodsDeclareReadsWritesAndCompoundExecutionscallsLaravelExtensionTest::testEverySinkIsDescribedExactlycallsLaravelExtensionTest::testSinksCoverBothTheFacadeAndTheConnectioncallsLaravelExtensionTest::testSinksTakeTheStatementFirstAndTheBindingsSecondcalls
Calls 9
- method-call LaravelExtension::methods() line 60
- new SinkSpec line 61
- class-const SinkCallKind::StaticCall() line 63
- class-const LaravelExtension::FACADE() line 64
- class-const SinkRole::Query() line 66
- class-const SinkCallKind::Method() line 73
- class-const LaravelExtension::CONNECTION() line 74
- method-call LaravelExtension::builderMethods() line 83
- class-const SinkRole::Modelled() line 85
public function models(ModelContext $context): ModelSetLaravel semantics are contributed only when this extension is enabled.
Parameters
$context | ModelContext |
Returns
Test cases 1
Calls 5
- new CallModel line 98
- new ModelSet line 100
- method-call CallModel::evaluate() line 101
- new BuilderQueries line 102
- method-call CallModel::matchesClass() line 103
public function builderMethods(): array<string, StatementKind|null>Execution calls, including explicitly incomplete compound operations.
Returns
array<string, StatementKind|null>Called from 1
Calls 5
- function-call
array_fill_keysline 114 - class-const StatementKind::Select() line 114
- class-const StatementKind::Insert() line 117
- class-const StatementKind::Update() line 121
- class-const StatementKind::Delete() line 124
public function methods(): array<string, StatementKind|null>The connection methods that take raw SQL, and the kind each implies.
Returns
array<string, StatementKind|null>Test cases 1
Called from 1
Calls 4
- class-const StatementKind::Select() line 142
- class-const StatementKind::Insert() line 145
- class-const StatementKind::Update() line 146
- class-const StatementKind::Delete() line 147
public function globals(): array<string, string>The extension declares no globals.
Returns
array<string, string>Private surface 3§
Implementation details, listed for orientation only.
private const FACADE = 'Illuminate\Support\Facades\DB'private const CONNECTION = 'Illuminate\Database\Connection'private Dialects $dialects = new \SqlCatalog\Core\Sql\Dialects()Test cases 29§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 9
LaravelExtensionTest::testBuilderMethodsDeclareReadsWritesAndCompoundExecutionscallsLaravelExtensionTest::testDescriptionMentionsWhatItCoverscallsLaravelExtensionTest::testEverySinkIsDescribedExactlycallsLaravelExtensionTest::testGlobalsAreEmptyBecauseTheHandleIsNotReachedThroughOnecallsLaravelExtensionTest::testMethodsNameTheKindEachOneImpliescallsLaravelExtensionTest::testModelsRegistersLaravelSemanticsThroughTheOptionalContractcallsLaravelExtensionTest::testNameIsHowTheCommandLineSelectsItcallsLaravelExtensionTest::testSinksCoverBothTheFacadeAndTheConnectioncallsLaravelExtensionTest::testSinksTakeTheStatementFirstAndTheBindingsSecondcalls
Other tests reaching this symbol 20
CatalogCommandTestcallsUsageTextTestcallsCallEvaluatorTestcallsCallbackEffectsTest::testApplyFollowsMutationsOfTheCallbackParametercallsCallbackEffectsTest::testApplyRunsClosureEffectsThroughCapturedAliasesOfItsReceivercallsExpressionEvaluatorTestcallsInterpreterTestcallsSinkMatcherTestcallsExtensionInterfaceTest::testDescriptionIsAlwaysWrittencallsExtensionInterfaceTest::testGlobalsAreDeclaredOnlyByAnExtensionThatHandsOneOutcallsExtensionInterfaceTest::testNameIsUniqueAcrossTheExtensionsThatShipcallsExtensionRegistryTestcallsBuilderQueriesTest::testStatementsCompilesReceiverAndBindingsDerivedFromTheSameBranchcallsCallbackModelTest::testApplyRunsSourceDeclaredLocalScopescallsCallbackModelTest::testConditionalKeepsBothOutcomesOfWhenAndUnlesscallsCallbackModelTest::testNestedRestoresOuterClausesAndGroupsOnlyNewPredicatescallsCallModelTestcallsAnalyzerTest::testAnalyzeSourceAcceptsAnApplicationSqlPolicycallsJsonReporterTestcallsTextReporterTestcalls