Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
syncEnrollments
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yeray Santana Hualde
syncEnrollments
Commits
7b5e37a3
Commit
7b5e37a3
authored
Jul 27, 2012
by
Dayle Rees
Browse files
Options
Browse Files
Download
Plain Diff
fixing merge issues on blade pull
parents
c27614b2
34c746b4
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
76 additions
and
50 deletions
+76
-50
blade.php
laravel/blade.php
+76
-50
No files found.
laravel/blade.php
View file @
7b5e37a3
...
@@ -149,19 +149,19 @@ class Blade {
...
@@ -149,19 +149,19 @@ class Blade {
return
$value
;
return
$value
;
}
}
// First we'll split out the lines of the template so we can get the
// First we'll get the layout from the top of the template and remove it.
// layout from the top of the template. By convention it must be
// Then it is replaced with @include and attached to the end.
// located on the first line of the template contents.
// By convention it must be located on the first line of the template contents.
$lines
=
preg_split
(
"/(
\r
?
\n
)/"
,
$value
);
preg_replace_callback
(
'/^@layout(\s*?\(.+?\))(\r?\n)?/'
,
$pattern
=
static
::
matcher
(
'layout'
);
function
(
$matches
)
use
(
&
$value
)
{
$lines
[]
=
preg_replace
(
$pattern
,
'$1@include$2'
,
$lines
[
0
]);
$value
=
substr
(
$value
,
strlen
(
$matches
[
0
]
)
)
.
CRLF
.
'@include'
.
$matches
[
1
];
},
$value
);
// We will add a "render" statement to the end of the templates and
return
$value
;
// then slice off the "@layout" shortcut from the start so the
// sections register before the parent template renders.
return
implode
(
CRLF
,
array_slice
(
$lines
,
1
));
}
}
/**
/**
...
@@ -172,9 +172,10 @@ class Blade {
...
@@ -172,9 +172,10 @@ class Blade {
*/
*/
protected
static
function
extract
(
$value
,
$expression
)
protected
static
function
extract
(
$value
,
$expression
)
{
{
preg_match
(
'/@layout(\s*\(.*\))(\s*)/'
,
$value
,
$matches
);
if
(
preg_match
(
"/@layout\s*?\(\s*?'(.+?)'\s*?\)/"
,
$value
,
$matches
))
{
return
str_replace
(
array
(
"('"
,
"')"
),
''
,
$matches
[
1
]);
return
trim
(
$matches
[
1
]
);
}
}
}
/**
/**
...
@@ -185,9 +186,9 @@ class Blade {
...
@@ -185,9 +186,9 @@ class Blade {
*/
*/
protected
static
function
compile_comments
(
$value
)
protected
static
function
compile_comments
(
$value
)
{
{
$value
=
preg_replace
(
'/\{\{--(.+?)(--\}\})?\n/'
,
"<?php // $1 ?>"
,
$value
);
$value
=
preg_replace
(
'/\{\{--(.+?)(--\}\})?\n/
s
'
,
"<?php // $1 ?>"
,
$value
);
return
preg_replace
(
'/\{\{--((.|\s)*?)--\}\}/'
,
"<?php /* $1 */ ?>
\n
"
,
$value
);
return
preg_replace
(
'/\{\{--((.|\s)*?)--\}\}/
s
'
,
"<?php /* $1 */ ?>
\n
"
,
$value
);
}
}
/**
/**
...
@@ -198,7 +199,7 @@ class Blade {
...
@@ -198,7 +199,7 @@ class Blade {
*/
*/
protected
static
function
compile_echos
(
$value
)
protected
static
function
compile_echos
(
$value
)
{
{
return
preg_replace
(
'/\{\{(.+?)\}\}/'
,
'<?php echo $1; ?>'
,
$value
);
return
preg_replace
(
'/\{\{(.+?)\}\}/
s
'
,
'<?php echo $1; ?>'
,
$value
);
}
}
/**
/**
...
@@ -209,27 +210,21 @@ class Blade {
...
@@ -209,27 +210,21 @@ class Blade {
*/
*/
protected
static
function
compile_forelse
(
$value
)
protected
static
function
compile_forelse
(
$value
)
{
{
preg_match_all
(
'/
(\s*)@forelse(\s*\(.*\))(\s*)/'
,
$value
,
$matches
);
preg_match_all
(
'/
@forelse\s*?\(\s*?\$(.+?)\s*?as\s*?\$(.+?)\s*?\)/'
,
$value
,
$matches
,
PREG_SET_ORDER
);
foreach
(
$matches
[
0
]
as
$forelse
)
if
(
count
(
$matches
)
<
1
)
return
$value
;
{
preg_match
(
'/\s*\(\s*(\S*)\s/'
,
$forelse
,
$variable
);
foreach
(
$matches
as
$forelse
)
{
// Once we have extracted the variable being looped against, we can add
// Once we have extracted the variable being looped against, we can add
// an if statement to the start of the loop that checks if the count
// an if statement to the start of the loop that checks if the count
// of the variable being looped against is greater than zero.
// of the variable being looped against is greater than zero.
$if
=
"<?php if (count(
{
$variable
[
1
]
}
) > 0): ?>"
;
$replace
=
'<?php if (count($'
.
$forelse
[
1
]
.
') > 0): foreach ($'
.
$forelse
[
1
]
.
' as $'
.
$forelse
[
2
]
.
'): ?>'
;
$search
=
'/(\s*)@forelse(\s*\(.*\))/'
;
$replace
=
'$1'
.
$if
.
'<?php foreach$2: ?>'
;
$blade
=
preg_replace
(
$search
,
$replace
,
$forelse
);
// Finally, once we have the check prepended to the loop we'll replace
// Finally, once we have the check prepended to the loop we'll replace
// all instances of this forelse syntax in the view content of the
// all instances of this forelse syntax in the view content of the
// view being compiled to Blade syntax with real PHP syntax.
// view being compiled to Blade syntax with real PHP syntax.
$value
=
str_replace
(
$forelse
,
$blad
e
,
$value
);
$value
=
str_replace
(
$forelse
[
0
],
$replac
e
,
$value
);
}
}
return
$value
;
return
$value
;
...
@@ -243,7 +238,7 @@ class Blade {
...
@@ -243,7 +238,7 @@ class Blade {
*/
*/
protected
static
function
compile_empty
(
$value
)
protected
static
function
compile_empty
(
$value
)
{
{
return
str_replace
(
'@empty'
,
'<?php endforeach;
?><?php
else: ?>'
,
$value
);
return
str_replace
(
'@empty'
,
'<?php endforeach; else: ?>'
,
$value
);
}
}
/**
/**
...
@@ -265,9 +260,42 @@ class Blade {
...
@@ -265,9 +260,42 @@ class Blade {
*/
*/
protected
static
function
compile_structure_openings
(
$value
)
protected
static
function
compile_structure_openings
(
$value
)
{
{
$pattern
=
'/(\s*)@(if|elseif|foreach|for|while)(\s*\(.*\))/'
;
preg_replace_callback
(
'/@(if|elseif|foreach|for|while)(\s*?)(\([^\n\r\t]+\))/'
,
return
preg_replace
(
$pattern
,
'$1<?php $2$3: ?>'
,
$value
);
function
(
$matches
)
use
(
&
$value
)
{
if
(
count
(
$matches
)
===
4
)
{
$open
=
0
;
$close
=
0
;
$cut
=
0
;
$len
=
strlen
(
$matches
[
3
]);
for
(
$i
=
0
;
$i
<
$len
;
$i
++
)
{
if
(
$matches
[
3
][
$i
]
===
'('
)
{
$open
++
;
}
if
(
$matches
[
3
][
$i
]
===
')'
)
{
$close
++
;
}
if
(
$open
!==
0
&&
(
$open
===
$close
))
{
break
;
}
}
$condition
=
substr
(
$matches
[
3
],
0
,
(
$i
+
1
));
$value
=
str_replace
(
'@'
.
$matches
[
1
]
.
$matches
[
2
]
.
$condition
,
'<?php '
.
$matches
[
1
]
.
$condition
.
': ?>'
,
$value
);
}
},
$value
);
return
$value
;
}
}
/**
/**
...
@@ -278,9 +306,9 @@ class Blade {
...
@@ -278,9 +306,9 @@ class Blade {
*/
*/
protected
static
function
compile_structure_closings
(
$value
)
protected
static
function
compile_structure_closings
(
$value
)
{
{
$pattern
=
'/
(\s*)@(endif|endforeach|endfor|endwhile|break)(\s*
)/'
;
$pattern
=
'/
@(endif|endforeach|endfor|endwhile|break|continue
)/'
;
return
preg_replace
(
$pattern
,
'
$1<?php $2; ?>$3
'
,
$value
);
return
preg_replace
(
$pattern
,
'
<?php $1; ?>
'
,
$value
);
}
}
/**
/**
...
@@ -291,7 +319,7 @@ class Blade {
...
@@ -291,7 +319,7 @@ class Blade {
*/
*/
protected
static
function
compile_else
(
$value
)
protected
static
function
compile_else
(
$value
)
{
{
return
preg_replace
(
'/(\s*)@(else)(\s*)/'
,
'$1<?php $2: ?>$3
'
,
$value
);
return
str_replace
(
'@else'
,
'<?php else: ?>
'
,
$value
);
}
}
/**
/**
...
@@ -302,9 +330,9 @@ class Blade {
...
@@ -302,9 +330,9 @@ class Blade {
*/
*/
protected
static
function
compile_unless
(
$value
)
protected
static
function
compile_unless
(
$value
)
{
{
$pattern
=
'/(\s*)@unless(\s*\(.*\))/'
;
$pattern
=
static
::
matcher
(
'unless'
)
;
return
preg_replace
(
$pattern
,
'
$1<?php if( ! ($2
)): ?>'
,
$value
);
return
preg_replace
(
$pattern
,
'
<?php if( ! ($1
)): ?>'
,
$value
);
}
}
/**
/**
...
@@ -328,7 +356,7 @@ class Blade {
...
@@ -328,7 +356,7 @@ class Blade {
{
{
$pattern
=
static
::
matcher
(
'include'
);
$pattern
=
static
::
matcher
(
'include'
);
return
preg_replace
(
$pattern
,
'
$1<?php echo view$2
->with(get_defined_vars())->render(); ?>'
,
$value
);
return
preg_replace
(
$pattern
,
'
<?php echo view$1
->with(get_defined_vars())->render(); ?>'
,
$value
);
}
}
/**
/**
...
@@ -341,7 +369,7 @@ class Blade {
...
@@ -341,7 +369,7 @@ class Blade {
{
{
$pattern
=
static
::
matcher
(
'render'
);
$pattern
=
static
::
matcher
(
'render'
);
return
preg_replace
(
$pattern
,
'
$1<?php echo render$2
; ?>'
,
$value
);
return
preg_replace
(
$pattern
,
'
<?php echo render$1
; ?>'
,
$value
);
}
}
/**
/**
...
@@ -354,7 +382,7 @@ class Blade {
...
@@ -354,7 +382,7 @@ class Blade {
{
{
$pattern
=
static
::
matcher
(
'render_each'
);
$pattern
=
static
::
matcher
(
'render_each'
);
return
preg_replace
(
$pattern
,
'
$1<?php echo render_each$2
; ?>'
,
$value
);
return
preg_replace
(
$pattern
,
'
<?php echo render_each$1
; ?>'
,
$value
);
}
}
/**
/**
...
@@ -369,7 +397,7 @@ class Blade {
...
@@ -369,7 +397,7 @@ class Blade {
{
{
$pattern
=
static
::
matcher
(
'yield'
);
$pattern
=
static
::
matcher
(
'yield'
);
return
preg_replace
(
$pattern
,
'
$1<?php echo \\Laravel\\Section::yield$2
; ?>'
,
$value
);
return
preg_replace
(
$pattern
,
'
<?php echo \\Laravel\\Section::yield$1
; ?>'
,
$value
);
}
}
/**
/**
...
@@ -379,9 +407,7 @@ class Blade {
...
@@ -379,9 +407,7 @@ class Blade {
*/
*/
protected
static
function
compile_yield_sections
(
$value
)
protected
static
function
compile_yield_sections
(
$value
)
{
{
$replace
=
'<?php echo \\Laravel\\Section::yield_section(); ?>'
;
return
str_replace
(
'@yield_section'
,
'<?php echo \\Laravel\\Section::yield_section(); ?>'
,
$value
);
return
str_replace
(
'@yield_section'
,
$replace
,
$value
);
}
}
/**
/**
...
@@ -396,7 +422,7 @@ class Blade {
...
@@ -396,7 +422,7 @@ class Blade {
{
{
$pattern
=
static
::
matcher
(
'section'
);
$pattern
=
static
::
matcher
(
'section'
);
return
preg_replace
(
$pattern
,
'
$1<?php \\Laravel\\Section::start$2
; ?>'
,
$value
);
return
preg_replace
(
$pattern
,
'
<?php \\Laravel\\Section::start$1
; ?>'
,
$value
);
}
}
/**
/**
...
@@ -409,7 +435,7 @@ class Blade {
...
@@ -409,7 +435,7 @@ class Blade {
*/
*/
protected
static
function
compile_section_end
(
$value
)
protected
static
function
compile_section_end
(
$value
)
{
{
return
preg_replace
(
'/@endsection/
'
,
'<?php \\Laravel\\Section::stop(); ?>'
,
$value
);
return
str_replace
(
'@endsection
'
,
'<?php \\Laravel\\Section::stop(); ?>'
,
$value
);
}
}
/**
/**
...
@@ -436,7 +462,7 @@ class Blade {
...
@@ -436,7 +462,7 @@ class Blade {
*/
*/
public
static
function
matcher
(
$function
)
public
static
function
matcher
(
$function
)
{
{
return
'/
(\s*)@'
.
$function
.
'(\s*\(.*
\))/'
;
return
'/
@'
.
$function
.
'\s*?(\(.+?
\))/'
;
}
}
/**
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment