大话西游免费版法宝用经验升一级要多少

    1. <form id=TuUEamabd><nobr id=TuUEamabd></nobr></form>
      <address id=TuUEamabd><nobr id=TuUEamabd><nobr id=TuUEamabd></nobr></nobr></address>

      Cashier vs. Spark, Pest vs. PHPUnit, and How We Manage Remote Teams

      Matt Stauffer:
      Hey everybody, welcome back to Laravel podcast season six. I'm Matt Stauffer, one of your co-hosts and Taylor, you want to say hi?

      Taylor Otwell:
      Hey everybody. How's it going?

      Matt Stauffer:
      Taylor Otwell, the man, the mystery, the myth, the legend, and so much more. Taylor, I saw a picture of you recently meeting Rasmus, the founder of PHP. Was that your first time meeting or have y'all hung out before?

      Taylor Otwell:
      No, it was our first time meeting, our first time speaking in any format, in person or online. Really the first time, you know, there's been any contact between us at all.

      Matt Stauffer:
      Wow. And I mean, he doesn't run PHP anymore, right? So it's not as if like he's in the day to day.

      Taylor Otwell:
      I don't really know honestly what I don't think you know it's his day-to-day thing. It's running PHP . Yeah, so we were at a Golden State Warriors game like a networking event for a lot of tech people. A lot of tech people were there actually like Rasmus was there, the web flow guys were there, flutter devs were there some for V ercel people were there and I was there. And so anyway, I go up to Rasmus, and I'm like you're the only person in this room I'm nervous to say hi to . And I was like I said "You're a living legend" and he laughed and he was like that was 30 years ago. Honestly after that we didn't talk about anything tech related we only talked about normal life stuff. We didn't talk about PHP at all.

      Matt Stauffer:
      That's awesome. Well, I know you don't know this history, but one day I'll probably have to ask somebody else. But for those of y'all who don't know, Rasmus created PHP as personal homepage language. But very soon afterwards, a group of folks who are not Rasmus took over and there was this Zend not Zen the framework, but like Zend the engine, and I know Zee was related, and there's all these other things. And now I don't know if any of them are still super involved. I think it's now more like the open source contributor people who are doing it. So it definitely does not have a primary person up top like Laravel does or anything like that. I think Ruby probably still, the guy who created Ruby, probably is still actually involved.

      Taylor Otwell:
      Yeah I know he for sure is still active because I just saw YouTube talk from him a few months ago. Yeah, I don't I kind of feel like it's maybe I don't know if it's a good or bad thing There's not someone at the top of PHP sort of calling the shots. You know with Laravel I think it's been actually a pretty big benefit to have sort of a BDFL at the top just to stop things from getting into too much bike shedding, or analysis paralysis, or... And eventually just move things along.

      Matt Stauffer:
      I couldn't agree more. I think that that's something we're missing at PHP a lot and I think that some of the lack of cohesion between the various groups of people who use PHP and their opinions about how PHP should be used is because of bike shedding and decision by committee and all that kind of stuff. It's just like sometimes you just need, even if it's a person who's really good at building bridges, you need a person to just say, nah, this is what we're doing. Even if it's not what they necessarily wanted, but they're able to just, you know what I mean? Just make it happen.

      Taylor Otwell:
      I mean a benevolent dictatorship is sort of the most efficient and best form of government just in the real world we can't guarantee the successors are as benevolent.

      Matt Stauffer:
      Yes 100%. Yeah, well, I know we've got a couple announcements I wanted to jump into. There's a lot of cool stuff going in the world of Laravel. So I figure we can jump to those first and so I'm just gonna go one after the other. First one is this new thing Franke nPHP was released as a another driver I guess you'd call them or base for Octane . For somebody who doesn't know anything about FrankenPHP or what it means to be able to use it for Octane, can you kind of give us like a real quick like what's what does this mean for the the world of people who don't live in Octane or really is this only meaningful for people who are like hyper-optimizing in the Octane world already and now it gives those kind of people who are really nerdy about that topic another option?

      Taylor Otwell:
      I think it's pretty cool for everyone actually and I'll try to explain a little bit about what it is. I wouldn't say I'm a super expert in Franke nPHP and the author of Franke nPHP is actually gonna give a talk at Laracon EU.

      Matt Stauffer:
      Oh fantastic!

      Taylor Otwell:
      Let's kind of start with how PHP works probably for most people today , which is they run Nginx and they run this thing called PHP FPM fast process manager I think it's what it stands for. And Nginx basically hands off request to FPM which then hands off I guess requests to PHP workers. So you've got like Nginx workers. You've got FPM workers, and it's a little bit more complicated than most other web languages in terms of how you run them. Where in a lot of other web environments you just start a single web server, and it handles everything you don't have two entities like you don't have Nginx and FPM. So what Franken php does is basically like imagine the built-in php web server you know like php Artisan Serve imagine it was like production grade and super fast and you know like I said production ready you could deploy it out onto actual web servers and just start one command and everything's running and you have one single configuration file, you're not configuring Nginx and FPM with different settings. Like you have one single configuration for your entire web server. That's essentially I think the the goal that Frank enPHP is trying to solve so that's one half of it . The other half of it is more related to Octane where what if we could keep your PHP app, your Laravel app, in memory once we boot it once, once we go through all the service providers, we execute all the framework bootstrapping and just keep that in memory and just feed it HTTP requests as they come in without having to reboot the framework on every single request. So FrankenPHP, that's one of its features as well. It's sort of the other half of the story. And that's why we built a driver for it in Octane, because that's what Octane is sort of built to help you with. So We have a Swoole driver, a Roadrunner driver, and now a FrankenPHP driver, and they all sort of accomplish the same goal of keeping your app in memory and feeding it requests. And what Octane does is add some Laravel-specific code that's necessary in terms of resetting global state, making sure your configuration is reset after each request, making sure your sessions don't leak over across each request, because it's a very different way of running PHP apps than, you know, historically we've run them. So Octane is sort of the Laravel layer, nicety layer to make sure everything works as expected when using these tools. And it's so much faster than using like the traditional N ginx and FPM setup because your apps in memory I mean, it's order. It's like multiple times faster in production, so it's a huge. huge speed boost. I can imagine a world where, in the next few years, I would actually like us to try to transition tools like Forge and stuff to just using stuff like this by default, because it's such a better way of running applications. It's such a faster way. It's a simpler way of running things. So that's the gist of it. And I'm sure there will be a lot more detail on it at Laracon EU when Kevin, the author of Franke nPHP, gives a talk on this topic.

      Matt Stauffer:
      Well, that sounds great. And for those who are interested, you can go to frankenphp.dev, where there's a pretty decent kind of overview of a lot of the ways it's working out. But I also think that Chris Fidao did an intro video to FrankenPHP, so we'll make sure we link that in the show notes as well. For those who are interested in a tiny little bit more nerdiness, the website kind of explains that it's actually built in Caddy, which is anybody who's done any nerding around servers has usually run into, I don't know if it's called, traffic or traefik or t-r-a-e-f-i-k. You usually run into the traffic and then Caddy. Those are kind of like two of the big servers you can do really custom stuff with that people deal with often. So like Taylor mentioned, phpfpm, which always has felt to me like this kind of magical, this is just what PHP running looks like thing. Until I learned that, like you said, it's just an Nginx plug-in, and it's a plug-in that makes Nginx and PHP play together nicely, which shows that it's not innative, it shows that it's not internal and integral. So it's cool hearing that FrankenPHP is really taking the ability to actually build it in at the core of its own server, but relying on Caddy so it doesn't have to create a server from scratch. The guy Kevin he made one other really interesting tool, and I'm trying to remember what it was but it's something about web sockets or something like that. Do you remember what that was?

      Taylor Otwell:
      Yeah, mercury? Yeah, he's also been involved in like API platform for symphony. Mercury which is kind of a I don't know if it even uses web sockets, but it's achieved similar goals. It's like real-time communication.

      Matt Stauffer:
      Yeah, he' s used some new technology to do it instead of websockets.

      Taylor Otwell:
      Yeah, he's worked on quite a few interesting projects. You know it's been around PHP a long time.

      Matt Stauffer:
      Yeah. Well, I'm really excited we're having him speak. I wish I was going to be there, but I'll be on my honeymoon, but I'm looking forward to, or getting married or something like that. But I'm looking forward to watching the video afterwards and learning from it. So. All right. So speaking of learning together, we also, uh, yesterday you announced, well, not yesterday, yesterday as of this recording, you announced the, the relaunch of the worldwide meetup. And in my memory, the worldwide Laravel meetup was something that Freek was doing originally, and then it's been on pause for a while and so this is kind of like season two of it . Am I, am I right in thinking about it that way?

      Taylor Otwell:
      Yeah. A Laracon speaker in the past and Laravel contributor over many years, Colin DeCarlo, reached out to me. He's like, hey, I'd really like to get the Laravel Worldwide Meetup going again. You know, is this something we could do? And I'll take care of like, you know, finding the speakers and make sure you don't really have to do anything. So yeah, I was like, OK, let me see what I can do and we eventually worked it out had a new website designed and yeah I'm pretty pumped to have that back because there's so many people around the world that don't really have access to like a local meetup, you know, and it's just not reason like like me for example in Arkansas. So it's just a cool thing we can do for the community and Caleb creator of Livewire will be the first speaker and yeah It's cool to have that back and I kind of a monthly meetup for people that don't have anything in you know the meet space to go to.

      Matt Stauffer:
      I love it. And that is just meetup.laravel.com. I'm trying to see one with January 30th. Okay, so this will be out before that comes. So very cool. All right, our next one. So you put out, you or Laravel put out a tweet recently about the Cashier quick start docs, and you kind of were telling us a little bit of story there. But rather than trying to retell your own tweet to you, can you just tell us a little bit of the story of what happened there?

      Taylor Otwell:
      Yeah, so Laravel has two kind of billing related things. You might say we have Cashier, which is sort of the lower level library for interacting with Stripe and Paddle. Let's you create subscriptions, you know deal with customers blah, blah, blah. Like I said, it's pretty low level. So we built a tool called Spark, which is basically a UI SAS billing starter kit built on top of Cashier that gives you all the UI stuff like plan selection, changing plans, cancelling, downloading invoices, and all of that. So here's kind of what has happened over the last, I would say, let's say four years is these billing platforms like Spark or Stripe and Paddle have started pushing towards more hosted no code checkout solutions. So, for example, Stripe has something called Stripe Checkout, where you can just redirect your users to Stripe Checkout and they host all of the plan selection once you define it in the Stripe dashboard. And then you can also redirect customers once they are subscribed to their Stripe customer billing portal, which lets them change plans, which lets them download invoices and all of that. So that all sounds exactly like what Laravel Spark is.

      Matt Stauffer:
      Yeah.

      Taylor Otwell:
      And so what's interesting is that over the last few years, I feel like Spark has become less valuable because these billing platforms have introduced their own no-code solutions. However, interestingly, Cashier has become more valuable because the webhooks you have to handle, the database structure you have to handle is becoming only more complex. So even though like Stripe hosts all these checkout pages, you still need to like keep the data somewhat in sync in your own database so that you know if someone's subscribed without making an API call to Stripe every time they call your application. So that led me to kind of be like, okay, what is, what do we want to do with Spark? G oing forward? I think there's part of me that would like to eventually just open source it at some point and have it not be a commercial product anymore. It's just something open source. But it also raised this idea in my mind. If I was starting a new layer of a project today, what would I actually recommend as far as a billing flow? And a big part of me was like, Oh, you should just use Stripe checkout and Stripe customer billing portal. That's really all you need and when I look at our docs for Cashier. I was like this is overwhelmingly complicated like dealing with customers , dealing with subscriptions, like let's just write a quick start. That's two sections I want to sell subscriptions, or I want to sell products like t-shirts or one-time purchases. So I gave that project to Dries and he kind of worked up the draft of it and then I came in and kind of massaged that a little and we put it out there on the docs as just like if you're starting a new Lar avel project today and you're using Stripe, for example, this is the quick start for how to get started selling subscriptions using Stripe checkout and Stripe customer billing portal and I think it's just like a much cleaner thing, a way to get started. I wanted to document it for a long time, so I'm glad it's out there and I think we'll probably do a similar thing for Paddle as well. So yeah, that's the gist of it, you know. Yeah, I love that. Does that make sense? Or is that too deep in the weeds?

      Matt Stauffer:
      No, that was the perfect level. And I love it personally because I would often be having conversations with people and then I'd be like, well, wait a minute, that's Spark classic. What about modern Spark? And then the question was always more complicated because of these, you know, the low code tools or whatever or no code. I love the idea of us being able to rely as much as possible on the tools that they're publishing for us to use, while knowing that we have everything synchronized. Because that's something I've seen happen in some of my older codebases when I would try to move to Stripe Checkout, is I wouldn't always be fully in sync with what was going on there. And I'd be like, oh yeah, they can change more things there than I was expecting, and keeping it in sync with my local is difficult. So just knowing that I can trust that they've built that UI so I don't have to build it in Spark or whatever else. And you have done the work to make sure that I've got all the data in sync. That's the most confident I can feel about the thing. So I love that there's a real quick, easy way to kind of know, here's the recommended options, prescriptions for purchases, call it a day.

      Taylor Otwell:
      Yeah, and when we first released you know Cashier and Spark which was probably 2015. Billing and checkout was way, way simpler than it is today with new international regulations like 3d secure 3d secure 2 Where when someone's entering their credit card sometimes you have to pop up like this confirmation box that's 3d secure and when you're using Stripe checkout. You know they're always, in theory, up-to-date on that doing the right thing but in Spark it was becoming such a maintenance nightmare to keep up with these international regulations in terms of how billing works that it's not super sustainable for us, and it doesn't even make sense. You know if Stripe checkout can do it for us

      Matt Stauffer:
      I hadn't even thought about that because I've seen those things before, but thankfully have not been in a place to have to deal with them lately. But again, I'm glad that I won't have to. So yeah, that makes sense. All right. Well, we got a couple more topics to cover today. So let's move on to the next one, which is there have been a couple of tweets lately between mainly Ian Landsman and Eric Barnes, although I swear somebody else had one where they were talking about when you're starting a new application, what do you put in your service providers boot method? And I was thinking, because last time we talked about what package do you put in every single time, and you said that you used the Once package that Spotsy wrapped up around your original code on everything. But I don't know if I put something in the service provider for every app ever. And I think most of what Ian and Eric's... Eric's was about the should be strict thing for your models, and so we could talk about that for a second.

      Taylor Otwell:
      I hate that feature. That's the worst feature in Laravel.

      Matt Stauffer:
      Tell me.

      Taylor Otwell:
      It's basically like In theory it wouldn't be a bad feature, but I'll explain why it's a bad feature or why it ends up being kind of a pain. So it's basically this feature in eloquent where you can say should be strict or something ID document It's not even in the docs anymore. But and basically if you try to access an attribute that wasn't pulled from the database like say you selected you select name and email instead of select asterisks and you try to access like birthday on the user model and If you have strict mode on it will just throw an exception you know hey you're trying to access something that doesn't exist. Whereas normal eloquent over the past 12 years it would just be null if you tried to access something that wasn't selected. So in theory this wouldn't really be a problem right you would you would think it would be a good thing . Like you have your app you select the right things if you see an exception you you didn't select the right data, you're always selecting only the data you need, more performance, blah, blah, blah. T he reason it becomes an issue is you start bringing in packages that now they have to sort of be aware of like is strict mode on? Is strict mode off? And like just the other day in Passport it was trying to access the grant types on the user model that weren't selected through an exception. Now we have to fix this in Passport It's honestly turned into such a headache from the package perspective that it makes me really soured on the whole feature.

      Matt Stauffer:
      Yeah.

      Taylor Otwell:
      So that's why I don't like it. I also you know I don't like it just from the maintenance burden It's sort of put on us from a package perspective of having to always be aware of what if they have strict mode on? what if they have lazy loading disabled? and like it's hard to build packages with all these caveats of how eloquent can behave very differently based on how the users configured it. A nyway .

      Matt Stauffer:
      I was going to ask about lazy loading next so it makes sense that that's also the same pain.

      Taylor Otwell:
      We have had less pain with lazy loading honestly, and it's still in the documentation you can still disable lazy loading we document that . There's one other thing we document because this Passport thing just happened the other day Let me look at this strict mode.

      Matt Stauffer:
      While you look that up for the listeners the the prevent lazy loading just says if you try to access a relationship on one of your Eloquent instances and you have not already loaded that, it's not going to be like, oh great, I'll go load it for you right now, which is what lazy loading would be. It'll throw an exception to make sure you've always eager loaded everything, which is beneficial from a performance perspective.

      Taylor Otwell:
      Mm-hmm. So the other thing we document is you can disable Eloquent behavior of silently discarding Non mass fillable attributes when you try to pass them to like the create method. So imagine you have a user model and your fillable array for your fillable attributes as name and email. You do user colon colon create you pass name email and birthday, which was not fillable typically Eloquent would just silently discard birthday and insert the data it can. You can make it so that if you pass something that's not fillable it actually throws a full-on exception. I haven't had any problems with this behavior actually this is I'm fine with this I think. I've never seen this cause any issues So it's probably a decent feature, but the whole accessing things that haven't been selected throwing exception has caused us quite a bit of headache. Which made me regret adding it. But that may just be that may just be from my maintainer perspective. You know m aybe it's a good thing at the end user perspective

      Matt Stauffer:
      Yeah, I mean, part of the issue is, you know, if it's making life difficult for the maintainers, then it's not great for the user. I'm definitely of the opinion that a lot of these tools are helpful because they help us discover ways we're accidentally making mistakes. Like the first time I turned on prevent lazy loading, it found a way where I didn't even realize I was lazy loading because it was such a complex web of relationships in this thing. I was doing one of those things where you have like a relationship that's, it's a one of many, or sorry, you're only selecting the most recent one of a many-to-many relationship. And because of the complexity of defining those, I was accidentally not eager loading it. So I learned some things from them, I like them. But none of those are ever worth the cost to, oh my gosh, everything's way more complex in our code, all the packages are gonna be more difficult, our maintainers, you know, like, to me, I'm like, there's other ways to solve this problem, right? We can understand when lazy loading is happening from a debugging and a debug bar perspective, and we can build tools for it without actually disabling it for the whole thing, you know?

      Taylor Otwell:
      Right, yeah.

      Matt Stauffer:
      Okay, well so yeah I so that was so Eric's had Eric talked about that Ian's had that and then he had a lot of very specific things to packages that he was using. You know he says he puts them in everything maybe uses those packages, but his were things like the the Guard package that he uses and some Livewire and Filament specific middlewares and stuff like that so. Again, I can't find myself saying that I do this and one person pointed out in one of those threads that Lambo which is a tool I built a long time ago that like allows you to do certain things after you run Laravel new every time. And one of the things you can do is have it run a bash script. And so some people have said, every single time I run Lambo to create a new project, it requires these particular packages and it also inserts these particular lines in the app service provider. And again, every time I've asked people, hey, what packages do you use in every project? What things do you insert? I've almost never been able to come up to something on my own where I'm like, every app I've ever built should have X. And I don't know if you feel like, do you have, is there anything you always put in a service provider?

      Taylor Otwell:
      So I actually pulled up our Forge service provider, and there's not much interesting here, I would say. We have a few container bindings where we make something like a singleton that we want to be a singleton. We register a couple authorization gates, closure-based authorization gates. Kind of the most interesting thing in here I would say, which may be a little bit uncommon, is we actually register. This is probably a relatively obscure feature of Laravel You can do Q colon colon create payload using where you can add something to the every Q jobs Payload . We add the user ID of the person that triggered the Qued job to every qued job. That's probably like 15 lines of code and other than that. There's really not much else that we have in a service provider and all the other projects I've worked on actually I don't feel like I put a lot of stuff in service providers.

      Matt Stauffer:
      Same. Yeah, and the things you're mentioning, and also now I'm looking at Ian's tweet, which I'll link in the show notes, I'm realizing almost all of this is contextual. It's stuff like morph maps in the relationship, you know, thing. So if you want to use the class name or you want to use a short string instead of the class name, okay, that makes sense. He's binding a new engine for a database, okay. He's adding some collection macros, like macros make sense, right? But none of those are universal, right? They are contextual and specific. He does have one where he says date colon colon use carbon immutable.

      Taylor Otwell:
      We were just talking about this at Laravel yesterday. Tim McDonald was like, I think carbon immutable should be the default. And I was kind of like, Hmm, it's sort of a big breaking change to ship to change everything to be carbon immutable. And I was like, people can just use date use carbon immutable. So it's funny that Ian had that in this project.

      Matt Stauffer:
      Yeah, I would say it's the sort of thing where I'm not burned if you guys don't add it or if you wait for the next major version or whatever to add it. I like the idea in general because I have been burned before when I forget to clone something. And for those who don't know, Carbon Immutable basically says if you've ever run into that thing where you do some work on a carbon instance and then you modify it for the next time, you don't realize that you're actually modifying the original instance and so sometimes that's not what you wanted to do. Carbon immutable doesn't let you do that. You have to basically create a new instance that you're, you know, every single time. So it's another one of these strict things, right? It's like kind of forcing you into not making mistakes. It's one of those, like, how strict do we want to be by default versus how much do we want people to allow to choose strictness when it's fitting for them? So.

      Taylor Otwell:
      Yeah, and I actually like carbon immutable and to Tim's point he was he was like yeah It is probably a breaking change, but it's also. You know just like Ian has carbon date use carbon immutable. It would be very easy for people like in the upgrade. We say hey, I don't want to use carbon immutable just do date use carbon. You know now you're right back to Laravel 10 behavior, so we'll see how that plays out.

      Matt Stauffer:
      Okay, I was thinking for some reason I was thinking of a carbon immutable you needed to clone it but you don't have to it's just if you make a modifier it creates a new instance every time which is actually...

      Taylor Otwell:
      Just like collections.

      Matt Stauffer:
      It's still breaking, but it's not as impactful because people don't have to go modify their code unless they were accidentally or intentionally relying on that modification.

      Taylor Otwell:
      Yeah. Exactly.

      Matt Stauffer:
      I got two more topics if we have time for them. We might not get to both of them, but I want to talk real quick about Pest versus PHP unit as a test runner. I'm working on a video right now that will have been released by the time this podcast comes out. Unfortunately, it's not out yet, so Taylor, you have not seen it. But it's referencing a tweet that you put out where you basically polled and you asked people, what should the test runner be for the next version of Laravel? Should it be P est or PHP unit? And one of the things I'm clarifying in this video that I wanted to kind of say here and get your thoughts on is the idea that there's two really impacts of changing to Pest from phpunit. And one of them is that when you run your tests, regardless of how those tests are defined, what are they running through? It can run through phpunit or it can run through Pest, which is a layer on top of phpunit. So it's basically phpunit configured a certain way when it adds you know, code coverage and, you know, prettier output and all these things. But it's really like they're both running PHP unit. One just comes with a bunch of plug-ins and decorations on top of it. And then the second part of Pest is an optional new syntax for writing your tests that is this functional, you know, Jest style syntax. But you can use the PHP unit class syntax with Pest as a test runner, which I don't know if a lot of people know. And that's why I was very curious about the fact that your tweet asked about not what should be the default test syntax? but what should be the test runner ? I did notice that you said, well, if Pest is going to be the default test runner, we also, if you ran PHP artisan make test, it would make a pest test unless you pass in dash dash PHP unit. But in theory, if you make a brand new Laravel app, And if you have chosen at that point to make Pest be the default test runner, you can still, you know, create as many PHP unit style classes as you want. So it's not forcing people out of that style. It's just meaning you have to do a little bit more work to do it that way. And now by default, you're going to get all those extra benefits that Pest provides as a runner, regardless of your syntax. Do you have thoughts about that? Am I telling the story correctly? And do you have any thoughts about how you're leaning as of today?

      Taylor Otwell:
      No, that's pretty much the story. I was just curious to tap into the community on Twitter and see what people preferred . I was actually hoping the results would be even more dramatic one way or the other. I can't remember what it came out to roughly like 60 40.

      Matt Stauffer:
      I think yeah something like that. l was hoping it would be like 80 20 you know or even like 70 30. So I can't say it really swayed me too hard one or the other. I like a lot of the features of Pest. I like a lot of the syntax of Pest. I think the data provider syntax especially is like a huge improvement over PHP unit but then again PHP unit just has so much familiarity and sort of legacy presence in the PHP ecosystem. It is sort of like a big ask just moved kind of the default testing setup away from that So I don't have a firm answer on like way. I'm leaning unfortunately. I was hoping that poll would be more dramatic as I said But yeah, I mean it is cool that like. You know, maybe there is merit to Pest being the test runner, even if PHP unit was the default test syntax. I didn't actually consider that very strongly, but it may be an interesting approach.

      Matt Stauffer:
      I'll share the video with you once I'm done with it. But basically, and I was talking to Nuno a little bit, and I was like, you know, I'm making this video. He's like, oh, you should really talk to people about the syntax. And I was like, no, no, no, syntax is cool. But there's an adoption cost to the syntax. The syntax, the new syntax has all these great benefits. The data providers is better. So it's really cool stuff. But the thing is, we don't need to convince people to change syntax. If I'm correct here, which I hope I am, I've run it by Nuno, I've done some tests on my own. If I'm correct here, the whole Laravel world should consider moving to Pest as a test runner. You've got an ancient Laravel codebase with 800 PHPUnit style classes, you should still consider Pest as a test runner. Because, I'm going to say this in the video, but your console output is more beautiful, especially in some Laravel specific ways that, you know, PHPUnit doesn't consider. You get parallel testing for free. You get code coverage generation for free. You get speed profiling for free. You get type coverage, like what percentage of my code base is covered by type coverage, if you care about this kind of stuff. You get stress testing for free. And you also can have the Expectations API. And you can use that Expectations API, which is a different way to write assertions that I think is cleaner. It's a more fluent syntax. But you can do the expectations API in your PHP unit style classes. So there are other cool things that Pest offers that I understand that like people can make the decision about whether or not they want. But I'm like, look, if we have an entirely PHP unit style code base, and there are no shortcomings that I haven't thought of. And the problem is, I haven't done this on 100 code bases, right? So I don't want to be the guy who makes this campaign and we discover, oh, man, it burns you in this way. But at least on a brand new code base, I've done it in a brand new code base multiple times. Pest is the test runner, keep making PHPunit style code classes, and I'm having a great time with it. You know, I get all those benefits. I don't have to learn new syntax, which I personally have learned, but I'm just saying as a hypothetical person who doesn't want to learn it, it's kind of great.

      Taylor Otwell:
      C an't you even mix and match like PHP unit, test classes with Pest test classes in the same project and it will just run.

      Matt Stauffer:
      You can have 800 existing ones with the old style. You can write all your new ones in the new style and all of them are getting those benefits I just listed off, you know. So and I didn't get that and when I when I interviewed him on the podcast like a year ago I was thinking it's all or all or nothing, right? And so I was talking purely about the syntax and he almost accidentally revealed to me. He's like well I mean you get these benefits what you know either way and it's not as if those benefits are things you can't get yourself in a PHP unit, you know, you can add parallel testing, you can add code coverage, all these things, but I've added them before and it's work. And with PEST, they're just there. So I'm kind of like, well, if we just get all those things for free, why not? And again, I asked Nuno and I've run some of my own tests, but if somebody hears this and they're like, here's a cost to using Pest as your test runner on top of an existing PHP unit, please let us know. Let me know on Twitter. But I have not seen any cost to it yet.

      Taylor Otwell:
      Yeah, that's interesting.

      Matt Stauffer:
      So we'll see.

      Matt Stauffer:
      "c.hange to Taylor" It's good stuff to chew on you know leading up to Laravel 11's release sometime in this first quarter of this year.

      Matt Stauffer:
      Yeah, okay, so we I think we do have a little bit of time for our last topic. And I've asked you this question a couple times before so apologies for making you rehash it. But people keep asking this question of how do you guys and you ask them to both of us? How do you manage a team? How do you do synchronous versus a synchronous communication and How do you task people? Do you have product managers and developers? How do people know what to do? And I just figured like we could both just kind of share a little bit about how we kind of run our teams. And just because I'm the one asking the question, I'll start and then kind of see where it kind of leads for you because I know we run our teams a little bit differently. But basically, our entire teams, everything is in Slack. We don't use email at all. Everybody's relatively synchronous. We ask people that they can work US-based hours so that we know there's going to be a majority overlap with people's hours. The vast majority of teams have a project manager and two programmers. The programmers spend, I would say, a quarter to three quarters, depending on the team, of their week pair programming. And then there's a lot of time just working independently, but we do at least one weekly check-in where the entire internal team meets up to talk, and at least one weekly check-in where the entire team meets up with the client to talk. And then there's regular check-ins multiple times during the day. Usually our project managers are managing the backlog so that the programmers can be programming. And when they get a task, they can ask for the clarification questions they need. They can do their architecture planning together and stuff like that, and they can kind of go code. And they can run things by the PM and everything like that. But the PM is often like, once that has been done, the PM is working with the client to define like, what's the next set of tasks going to be working on? And, oh, well, you didn't give us this definition or whatever. So that's kind of our most asynchronicity comes from the fact that the PM is gathering definition often while the programmers are actually doing code. Our lead programmer will often work together with the PM also to make sure that the definition makes sense from a technical perspective. But we've read the book Remote from 37 Signals, and we are so much more synchronous than them. They're very much in the write it up in Basecamp, somebody else reads it at some point in the next 24 hours, somebody else approves in the next 24 hours, you do the code in your own, you throw it over a wall. And Taylor, I want to hear from you, because I think you're a little bit more asynchronous than we are. You're a little bit more Basecampy. We're much more synchronous. There's a lot more communication and collaboration. But what we try to avoid is unnecessary meetings. And that's something I've noticed that's very different between us and the culture of a lot of the companies we worked with, is that meetings and emails are much more heavy in other companies than they are at Tighten. If we need a meeting, it's because we saw a limit of written or, you know, Slack communication. And then we're like, yeah, the quicker things to do is jump on a call for five minutes, right? And then go back off versus like, oh, every time we need to have a conversation, it's going to be an hour long phone call with 17 people or something like that. So we're synchronous, but we're trying to keep it low cost synchronous versus I think some folks are just like, everybody's on every single call all the time and it takes three hours and yada, yada, yada. So that's kind of, I mean, people asked about async versus, they talked about meetings, communication, frequency of meetings, async versus sync. I think that's kind of it for us. And oh, for tasking, that was the other thing. So Taylor, can you talk a little bit about like what it looks like for you doing that kind of arrangement of communication and tasking, everything like that at Laravel?

      Taylor Otwell:
      Yeah, I think we're much closer to your style than like a full asynchronous style. So of course we use slack. That's our honestly our main form of communication. We do use Basecamp some but we use it in a limited way. We don't use all of its features like we don't use like the chat feature in Basecamp. Really we use Basecamp for I post a monthly write-up of what we want to work on that month and I kind of assign it to the devs. I basically am functioning as the product project manager you might say across Forge , Envoyer, Spark all of that. I write up that monthly write-up. I assign it to the devs and from there most of our devs here have pretty wide creative freedom, I would say, in terms of how things actually are implemented. And we'll discuss the details in Slack. If someone has a question like, hey, should this work like this or like that? And I'll kind of chip in and give my feedback and get their thoughts. And we'll go from there. And that's kind of how we work through those decisions. So we don't write up that kind of stuff like in Basecamp, like, hey, I'm struggling with this. What should we do? And it's like a big Basecamp thread. We don't really function that way. We also use sort of like a Kanban board on Basecamp to keep track of what everyone's actually currently working on and sort of what state it's in. Like is it blocked? Is it pending review? Is it in progress? And then the third thing we use in Basecamp is daily check-ins where every day at 4.30 it pings every employee and just asks like, hey, what did you do today? And it just has to be like a few sentences or a paragraph about sort of what you were doing. And really the main reason we do that is so that I can just kind of have a high-level overview of what's actually happening at the company, because sometimes it's hard to keep track of what state everything is in, what people are working on, if they're stuck or not. And so that's sort of the role that that plays. Everything else is really just in Slack. We almost never do calls. We probably do less than we should. And I should probably like caveat all this by saying I think Laravel will change this year because we would like to beef up the team because we have some more ambitious projects we'd like to tackle in 2024 and I think we will have to move closer to like actual project managers on some of these products like Forge and Vapor instead of it just being me. With a team of devs under them and things like that because I feel like we're basically running on a skeleton crew at this point sometimes. We're at ten people. We probably need to be like closer to 20 people given the size of these products. So you know that's how we are now, but I bet if we talk about this again next year we'll have a different setup and that could be interesting to revisit.

      Matt Stauffer:
      Yeah, I love that idea. You actually said two things that I've realized that we do and aren't even named, so I appreciate that. We do Kanban for almost everything. Almost all of our projects are on Trello, if possible. If not, we try to get the most Kanban view in whatever tool the client's using. And it's almost always like, Backlog, you know to do immediately this week or whatever doing the done and ready for code review done and ready for client review. Whatever the various stages are like done and on staging but not in production or whatever. And then we also have a weekly or not a daily thing where everybody writes kind of like an EOD and end of day and and it just says like, hey, here's what I did today. And it's a bot that actually scrapes those messages and puts them in one central place. I used to read all those so that I knew what was going on for all of our projects, and I'm at the level of the company right now where I can't, but Keith has access to them and the PMs if they need to kind of ask those questions, they can. But essentially the main thing is just sort of saying like, hey, at the end of every day, let's talk about what we did. For some projects, we're actually sharing that with the clients. For some projects, the clients would be overwhelmed by that, so we're not. Let's make sure we know what we did. We can also go back later and if the clients are being like, well, what happened this week? We always have a great record of it. We can say, oh, well, here's the thing I did every single day and you also had access to the information or whatever. I would definitely love to check in in a year to see what the new structures of the company look like. We'll have to set a reminder for that. All right, well, we are at time, so the last question we have open here is, what is the album released most recently that you've really enjoyed? So some album, new album that comes out in the last months to year that you've actually enjoyed listening to.

      Taylor Otwell:
      One that sticks out that was like a new discovery for me in the electronic, well, yeah, I guess kind of down-tempo electronic space was this group called The Lastlings, L-A-S-T-L-I-N-G-S. It's like a brother-sister duo. I think you know she kind of sings and yeah, it's a pretty sweet. They're pretty pretty good group. So their most recent album is perfect world came out in 2023, but yeah I listened to that quite a few times over the past few months. It's just sort of like good music to chill and work to they've got a another album that came out in like 2020 .

      Matt Stauffer:
      Okay, that's awesome!

      Taylor Otwell:
      P retty cool. Yeah What about you?

      Matt Stauffer:
      I just looked at my side I split between iTunes and Spotify so I don't know if this is the best way to look but I'd noticed two, three albums actually that I've that came out recently starting from the earliest Harry Styles, I've never listened to him before. I don't know anything about him, but my fiancee Amani was like, you, this Harry's house album that he just came out with, I think you would really like the vibe of this. I love this album, man.

      Taylor Otwell:
      Yeah, I like Harry Styles.

      Matt Stauffer:
      Like I play it when I'm cleaning, I dance around it. I'm like, okay, I like some pop, I guess. So I'm glad you've heard of him. I know he's a, he's famous. I think, is he an actor too? Was he in that one movie that set in the sixties recently?

      Taylor Otwell:
      I'm not sure.

      Matt Stauffer:
      IMDB, let me check real quick. Because if so, I really liked him as an actor, too. Sorry. Don't Worry Darling. It's one of those where, like, you don't know all the details at the beginning, so I don't know what I should say about the movie. It was a really fun movie. I would definitely recommend it to anybody. But he's one of the two leads. He's the male lead, and then some famous woman is the female lead. It's a great movie. And I did not know, or at least wasn't actively aware of the fact that this is a singer. You know, it wasn't one of those like, yeah, you brought the rapper in kind of, you know, brought the pop star in kind of vibes. Like he did a really freaking good job. So anyway, Harry Styles. W e love the, the Spider-Man soundtracks around this house. My son plays out the Spider-Man and the Metro booming one. I don't think it was as good as the first end of the Spider-Verse soundtrack, but it was still very good. And then, um, Jamila Woods is a weird hippie, dippy singer, songwriter person I listened to. And I, um, I don't know if I would say I love Like Love It, that everybody should listen to it, but I've kind of been enjoying her Water Made Us album that just came out I think at the end of last year or the beginning of this year. But Harry's House is definitely the standout one where I would say worth a listen to anybody.

      Taylor Otwell:
      Nice.

      Matt Stauffer:
      Sweet. Well, Taylor, thanks for hanging out as always. Great conversations. And I'll make sure that everything we talked about is in the show notes. Everybody, including the Cashier Quickstarts, Franke nPHP, Worldwide Meetup. Make sure you go to meetup.laravel.com and you can actually type your name and email address to get a reminder for when the January 30th meetup comes up. And we'll also have the boot service writer tweet and my video about passwords of PHP unit. And if you have thoughts on any of these things, hit us up on Twitter, you know how to find us. Until next time though, see y'all later.

      Taylor Otwell:
      See ya.

      Creators and Guests

      Matt Stauffer
      Host
      Matt Stauffer
      CEO Tighten, where we write Laravel and more w/some of the best devs alive. "Worst twerker ever, best Dad ever" –My daughter
      Taylor Otwell ?
      Guest
      Taylor Otwell ?
      Founded and creating Laravel for the happiness of all sentient beings, especially developers. Space pilgrim. ? @abigailotwell.
      Cashier vs. Spark, Pest vs. PHPUnit, and How We Manage Remote Teams

      headphones Listen Anywhere

      More Options »
      Broadcast by
      He went upon the sick report at once, and for three days thereafter raved of crucified women with fair hair, of children lying dead in the ca?on, of the holes in his boot soles, and a missing aparejo, also of certain cursed citizens, and the bad quality of the canned butter. And the Indian may be trusted to know of these. Here where the jacales clustered, there was grass and wood and water that might last indefinitely. The fortifications of Nature had been added to those of Nature's man. It was a stronghold. "Doctor, he can't die. He mustn't die," said Shorty in agony. "The regiment can't spare him. He's the best soldier in it, and he's my pardner." to Miss Jerusha Briggs, at this plais, and I will pay the "I did," answered Shorty. He was carrying his Belbis beam, of course. The little metal tube didn't look like much, but it was guaranteed to stop anything short of a spaceship in its tracks, and by the very simple method of making holes. The Belbis beam would make holes in nearly anything: Alberts, people or most materials. It projected a quarter-inch beam of force in as near a straight line as Einsteinian physics would allow, and it was extremely efficient. Albin had been practicing with it for three years, twice a week. Mating, he thought. If the chain of obedience was broken would the trees refuse to obey, in their turn? Puna had said so, and it was true. And if the trees refused to obey there would be no mating.... "Wandered, you mean. Just wandered off. And—oh, I suppose a few have. Our methods aren't perfect. But they are pretty good, Johnny: look at the number of Alberts who simply stayed around." Then suddenly she began to plead: He took his place beside her, but he could not fix his mind on what they sang. In the intervals between the[Pg 153] anthems he was able to pour out instalments of his tragedy. Bessie was very brave, she lifted her eyes to his, and would not let them falter, but he felt her little coarse fingers trembling in his hand. God save the Queen!" Tilly had a spurt of anger. HoME大话西游免费版法宝用经验升一级要多少 ENTER NUMBET 0017
      www.judui7.net.cn
      made7.com.cn
      www.fari2.net.cn
      dala9.net.cn
      www.gemi2.com.cn
      xrstkj.com.cn
      wenla3.net.cn
      yewan9.com.cn
      www.08211.com.cn
      5176.net.cn
      日本女同性爱毛片 妹妹av黄色 色女人激情图 双飞做爱图 6655人体亚洲 WWW.720BB.NET WWW.LBPMK.COM WWW.GEGE0.COM WWW.9ZY.COM WWW.AKXS6.COM WWW.SE59.COM WWW.V2511.COM WWW.TE3456.COM WWW.WUYESE.COM WWW.HNYEZF.COM WWW.977X.COM WWW.465E.COM WWW.CRXZ.COM WWW.OMYTVS.COM WWW.ENET.COM.CN WWW.8FKD.COM WWW.HYWIC.COM WWW.313K.COM WWW.NI37.COM JESSCIA.STROUP WWW.MXIEZI.COM MIDE543荒木在线 偷拍自拍在线录音 欧美少妇乱淫图 怡红院更新前的主页 黄影视 裸片A片 全球免费共享视频在线 岳母丝袜乱论 mcomcomc免费A片在线播放 大型色小说 www搞处女cn 中文往往对电影 欧美sm免费无插件在线视频 亚姐妹 咪米色网站 亚洲视频国产自拍亚洲色图 怎样进黄色电影网站 华人av偷拍视频在线 亚洲色图美利坚 oo后自慰高潮网站 性爱技巧9页 色色影www38rjcom wwwribi 美国伦理母亲电影 57AV00com 超碰涩涩涩 自拍偷拍卡通动漫黑白中文 内射妹妹 快播 3344nq 福利云点播免费日本A片黄片 144人体图片 appssav25com wwwpp856cc 人妻熟女自拍在线播放 快播理论黄色片 看老婆被技师抽插 少妇舔阴茎 欧美色网胖女人 kk44kk44com 黄色淫乱片子一 澉情五月网vv99vvcom 成人丝袜视频大全集 a资源吧亚洲首页 丝袜电话 在线影院淫色熟妇 欧美成人网站555dvd 西西性爱电影 黑太阳731续集之杀人工厂 欧美丝袜整片 sexwww ddfnetwork免费 射精卡通动漫 黄色l乱伦 变态强奸片 强奸乱伦破处 欧美干老太婆 小泽玛利亚女上男下 cao320AV 快插毛片电影百百度 淫淫色色色色 撸吧全迅 操少妇双洞齐开15p 日本有什么黄直播app 动漫啪福利 大香蕉霞 1769导航 成人文学公共汽车 老婆的淫荡晚会 大鸡吧在线av 成人嘿咻嘿咻网 成年人电影毛黄片 国语对白干妈视频 老头抽插美女 亚洲超碰撸撸在线视频 神雕侠侣伦理片 wwwbibiav520com WwW683kKC0med2k 每天射十次大叔 www97kxwcom av能看的操逼 WWW48com 一本道性欲?⒌纳俑 姐姐在线爱 在电影院偷情舔逼 3366vod下载 成人玩具哥色咪色 发嫩藤 和姐夫做爱吸乳 御姐很哀伤ckplayer wwavav521com japanesex无码日本动漫 色色哥哥色 孙丽让谁干过 淫chacha 张柏芝艳门b照图片 操中年女人的肥臀骚逼 长谷川由奈写真 妺妹网日本人体人体图片 cccaobipian 亲家母狠狠撸 东莞扫黄女子图片 欧美骚妇淫色诱惑图片 很很干很很撸图片 淫乱无码网站 最大胆美女人体艺术 她噢片级 春暖花开有你性亚州 无码 颓废的国模林邈子 pptv色色电影 超爽的性爱16p 影音先锋南洋第一邪降 肏阴部 手机性爱视频综合社区 丝袜诱惑小穴 台湾妹视频 66abcd怎么不能看了 国产人妻多年3p4p激情照62p 回家开门时被人强行拖进家中强奸中的女优 亚洲激色图 医生强奸 等爱的玫瑰 petsaga 生死狙击辅助 dewsuperior 操骚逼女 少女之交配 偷拍wc欧美 欧美女与动物发生性关系视频 影音先锋影院影视 99人体艺术网com 哥哥ppp 操乱伦操骚逼小说 乱伦另类撸 撸一撸色奶奶有妓看 韩国嫩白美女小穴图片 韩有天伊宝媛 亚洲另类先锋快播 超碰肛交免费视频 五月天丁稥婷婷 人体艺术女同性恋视频 翘起鸡巴日亲娘 亚洲性爱视频网站 国产AV资源百度云盘 东亚兽皇 韩国日本偷拍自拍视频 操昏迷女逼图 骚穴黑丝口 亚洲欧美卡通动漫偷拍自拍 theporn最猛成人网站 大鸡巴干衅电影 人体艺术图片有人体艺术图片 37av免费视频 漫画淫图 浴室性片 人妻被公公操的动漫 葫芦岛性息 轻吻也飘然在线福利 www老人兽laojjcom 韩国高中生美穴 日本人体阴唇艺术摄影 兄弟交换夫妻用 20岁成人免费视频在线免费试看 韩国美女主播阿里快播 商务qq黄色片 2017伦理电影手机农夫山泉在线 68人体艺术私处 赶紧撸东北浪妇偷情小说 010酷播妹妹 HDXXX幼女 国产超级法在线 俄罗斯人与shou 成人三级片黄片毛片 四虎相关网站 夫妻交换高清图片 米雪儿麦库尔A片 干少妇丝袜小说 色久久影院app最新版 贾静雯三级片 舔b全露视频 聊城交通违章查询 爱色影天天色 美丽熟女网 香港大胆人体 丝袜骚妇丝袜腿模 我的第一次被干从清纯到淫荡的幼儿教师 色中色人体艺术电影 美国裸体俱乐部 黄色一级倨情 91retvwww91retvm91retv 玉蒲团淫女 调教母狗的网站 另类激情小说淫色人与兽 五月天涩涩爱 情欲轮奸小说 移动上不了h网 东京热大乱cd2rmvb 怎么在快播里看黄片 前田かおり 红磨坊影院 高清成人图片 开心激情影视 美女娃娃做爱 御の二代目谁有E谁有G 色五月女王来了图片 俺去橹 色七七2018综合 久悠影视 李宗瑞偷拍影院 日韩αv小视频 vv影院 蒂亚AV资源 avtt144 韩国美女与男友宾馆开房嘿呦自拍表情销魂,我一旁拍摄她男友不行换我上,嫩 午夜丁香花在线电影 青青私密视频 性交无码教学 在线看片瑟瑟爱 日橹免费在线 酒店真实高清露脸对白 亚洲 小明看看 大香蕉X影院 阿v影音在线观看 五十岚纪子在线视频 诸葛影院在线理 日日夜夜不卡另类视频 了:国产自拍 亚洲狠狠色无码视频 黄色咸网 9877黄小游戏大全手机版 新视界影院 magnet 日本AV黄图 mp4 福利大鸡吧 九州资源永久免费视频 真人啪啪啪视频AV 邪恶插阴口动态图 五福影院aⅴ凹凸av 中国内地在线av免费视频 看看十八岁的性器官视频 淫荡便器电影 亚洲VS天堂 ssn190 谷露影院手机在线0 成人A片 迅雷下载 aiaifulidaohang snis885磁力 834成人视频 手机在线电影 国产区 色青春亚洲综合 影音先锋资发布站 香港成人夜色影 221sihucim 彩乃奈奈中文字幕在线播放 h版神探夏洛克下载 丁香五月网韩国主播 xxo影院 大尺度广场舞视频 日本换妻性交视频 一本道mag magnet 免费色系视频二十多分钟 2018仙女屋19禁电影大全 色酷狠狠干 8090电影风筝 女仆资源 曰本黄色视频免费高清 好XXOO在线视频 潮喷合集丝袜无码mp4 看着我的女友变淫荡 mp4 成人看片小视频 四虎影院手机观看视频 五月丁番 巨乳无码电影 平凡夫妻性生活自拍 3p美女拍拍 91密秀官网 九九深夜福利在线免费试看 干妹妹高清在线影院 依人综合在线观看视频 水上百合中出孕妇 sss黄片 洗澡自慰在线播放 三d影院深夜不再寂寞 色站导航丁香色 迅雷无码冲田杏梨 AV走 ssni-056 胸部跳蛋视频 小泽玛利亚无码在线视频 性交视频内射白浆视频 操洒店小姐 唐朝AV中文字幕 偷拍福利萝莉 后入大屁股美女全集 亚洲高清自拍有码 吃女友的胸她娇喘 日本高清959dd 一级黄色录像带 tyod-278hd 整个福利 感谢不删好友不屏蔽之大恩院线同步电影 发给没时间去电影院的朋 今日排名第一页长片 xooⅹ430 爆乳保姆激情电影 国产自拍裸照 mp4 操日本美女视频播放 被控者完整版在线观看 色搜在线播放 深夜直播 magnet 色悠久久桃花综合网 另类小说五月天综合网 色琪琪aⅴ stringendo av仓库永久地址 ww884aaco wuxiaorui renrenmoshiping japanese AV 谭晓彤在线福利视屏 成人操逼激情视频 维他命色vvtvt av宫前幸惠在线观看 颜射大奶在线播放 透b叉叉在线自慰视频 老司机影院院写真集福利 国内自拍va偷拍视频 本庄玲在线 国产足j在线观看 播放3个98年艺校小美女买完零食回来比赛 草榴在线自拍 国产在线 幼幼在线av 校花啪啪啪影院 少女哥哥我想看那个床震作文 换妻性交真实影片 日本做爱全集 酒色成人网1314 日韩欧洲淫荡视频 7zav gouhemaoxingjiao 国产自拍操逼直播 迷奸技师 花井美纱 真性中出在线播放 萝莉还债视频内个 热热色源20在线观看 让人想不到样子清纯的妹子居然在公园色诱个老头到厕所调教舔逼喝尿吮脚趾看大爷那 骑士影院宅男福利 苹果在线免费看a片 性女传奇 干小妹妹 美女写真摄影视频 真实破处妹子被日哭了 逼里香1 正在草她老公打电话来一边草一边打 风吟鸟唱摄影师嫩模 黄色网站在线视频 欧美裸体模特展示阴部app 欧美番号库 哦快拿大鸡巴操我 mp4 黑人大干金发美女 老司机免费福利AV 捆梆绳模羽洁视频 成人视频 你懂的 操我2 1乱伦强奸图片 淫色戏院 在线超碰天天 先锋AV 现场 sexo 漫话 东方在线αv 群交视频种子 街头射头视频迅雷下载 男同志cartoonyaolp 男人的福利你懂得 免费不卡的亚洲AV 影院在线观看 乖妈姨通叔伯 av大明星97影院 55xxp。て0M 并木优 一周年 穿线资源合集 mandingo 黄可46分钟三邦车视 美女妹妹自慰视频 888kbkb 六月停婷 澳门 人人g 漂亮的小姨h小说叶凡 黄色视频青青草 伦理片工作的女人斩 图片区成人福利 欧美激情 在线观看‘’ 美女内射无码 免费直接看片的网站 窥器美女 清纯援交女偷拍 大胆美丽人体漫画 波多野结衣被内射图片 快播石狮艳照门 成人电影导航qvod 成人大尺度gif 黄色录像强奸片 欧美人体私处摄影 真实夫妻生活 人体艺术照片逼特写 意淫强奸 宅男福利屌丝 � 汤加丽巴巴拉 偸拍骚妇 解说大咪咪女生丝袜 淫荡美骚妇的激情 公媳吸乳奶妈诱惑 WWW_7PO_COM 熟女内田由衣快播 人体艺术性爱小 333kikicom 人妻凌辱 快播网 男女操逼片视频 大鸡吧肏屄里了 少妇内射潮吹 快插我的蜜穴 爱爱快播撸一撸 韩国十八大禁片种子 前黄小学校车迷奸案 欧美肥妞妇乱 亚洲色图 欧美色图 经典三级 大色体 东欧少女 无码 小说 bt 亚洲 论坛 嫩臀骚逼 乱配母导航 红楼十八春tu seseav图片 成人色视频xp 吉吉影音母乳片 岛国色色图片 大鸡鸡插小屁眼水真多 韩国女主播夏娃7部合1部影音先锋 人之初性本善 高级电工证 生活观察网 北京天安妇科医院 中国铝业中州分公司 我的美艳舅妈 志村玲子与黑人图片欣赏 李宗瑞吴亚馨未经处理 网友自拍丝袜足交视频 春暖花开性吧校园春色 日韩美女裸体自拍艺术照 什么都不用下载无毒性片视频 堀北真希无码 涩涩爱综合 人体裸舞 da骚屄 西西妹妹大胆的展阴 冰奇套图种子 www510ccam 韩国色网站 小说交换的妻子最有味 guomobaibi 波多野结快播放器下载 123操b 爱鸡巴的小穴 我轮着干了两个女学生 和多人操逼的感觉 自拍偷拍视频下载 成人裸照无马在克 东京热快播最新成人电影 人兽交视频网址 热点资讯天天网美女人体艺术鳖客网 欧美奶奶15p 黄色少妇天上人间 西西人艺美女肏穴 少妇用卫生带 主角叫小满的乱伦小说 搞女儿被老婆发现15p 亚洲包色图 偷拍江祖平美腿图片 堤莎也加torrent 色尼玛乱伦性爱电影 少妇丝袜在线狠撸 不卡影院27号早间九龙电玩捕 爱主播怎么让主播看不见你 日本av在线sss 免费大片ccc858com 河北传媒北区偷拍 日本av删除删除删 亚洲专区一本道 老汉玩肥婆 东方大鸡巴 天龙淫女传 WWWBET365COM 韩国炮友打炮自拍视频 韩国女主播高清图片全集 骚逼老婆做爱露逼视频 隔壁邻居乱伦做爱小说 极品人妻援交系列套图 人体艺EEcom 苍进空av网址 综合插插a 操妈妈屄15年 日本h彩漫 生物老师被操 性爱自慰碰碰视频 波多野结衣熟女乱伦图 超碰免费视频caopocaowwwblz1000com 日本特级女人无码 家庭乱伦幼幼操逼小说 儿童爱爱网站 幼幼圣光福利 伊伊人妻 AV日日逼 大奶子被干了快播 好吊日AV在线视频19gancom 19isecom色哥哥帝国 模特屄re 淫香五月天 调情网址 优优人体艺术爽图 成人全彩动漫 好屌妞大色网小色网 亚洲欧美制服卡通heshizfucom 老师干儿子淫秽 男生的鸡巴操草你生的蛋裤子黄色视频 五月天激情古典 空姐丝袜大乱11p 免费看欧美黄色大片网站xxx av国语版 被虐家庭女教师 人与兽乱仑 最新里番社区 yyaaVvmagnet 三级黄色添下体 伊人在线视频变身6 wwwpp6scpm 处女草草www 网友自拍seba 520最大胆人体艺术 人妻性爱淫乱 姐弟经典性交thunderftp 泽尻绘理香作品快播qvod百度影 苍井空作品下载网盘 波多野结衣逼器 婶婶的原味内内 我与姐姐乱轮小说 偷拍自拍高潮影院 AV视频色图 华人95偷拍自拍视频 东亚AV 影音先锋熟女少妇 五月天激情亚洲图片区 7777bbcom 沈阳推油 日本A片555影院 欧美36d性爱 图片区偷拍自拍15p 怡春院分站 酒色网 美女 撸撸射秘密爱 yy44bbcomcaoporn29htm 影音先锋av天堂2015 曰本骑大哥操逼自述 亚洲五十路熟女在绒 郑州换妻俱乐部偷拍 撸撸色最新网站 亚洲AV_插插射射 巨乳泽井芽衣在线无码 985bbcon pp494c慰m 人兽性爱欧美三级片 金发天国在线播放1 少妇艺术人体图片优优 9h明星合成裸体网 毛片基地美女图片 鸡巴插小美女淫穴 眼镜少妇参加老外群P聚会有5个黑鬼真正操到爆三洞已爆废 经典千人斩首页wwwiiii41com 米奇第四色骚姐姐 天使社区换成什么平台了 亚洲在线做爱 中文亚洲欧美 35vucom 开心色色自拍偷怕 快播电影日本理论片 美女高跟踩踏图片 偷拍厕所在线 成人撸多宝 在线播放富家女被干 性涩影音app 专业偷窥在线视频 久久精品视频在线看99-百度-百度 美女拷臂动态图 牛牛射在线av ymdd099磁力 校园春色系列小说合集 让你的女友高潮吧 亚洲第一AV天堂网 兰桂坊野战视频种子 做爱漫画小说图片 871kkcm 日本成人图片小说ed2k 韩日撸逼 鸡逼逼在线视频 清纯唯美在线国产亚洲色图美腿丝袜 美穴撸 性交后尾图片 大香蕉伊人萝莉 黄色日逼紧逼医院护十 天天更新欧美性爱日韩AV国内自拍偷拍电影 色色资源最新地址2017 dizhi99妹控 类似于蜜桃影院的网站 李小璐被强奸乱伦 卡戴珊三级 插进射吸爽春 黑丝诱惑亚州性夜夜射 丝袜夫人 类似巨乳淫奴的小说 美女咆轰图 WVW2499 90后美女做爱图片 干死美女电影 刘亦菲阴道毛多吗 欧美视频xxx 最新电影2014sewoyingyin 我和小舅妈的故事 色史中色 av兽 黄网视频 黄色网站电影二级影片 人体艺术toupian 我干美女老师做爱 黄色日批照动态 日本丰满熟女五十路 xxoo无插件 张悠雨房乳特写 水水美妹 原纱央莉大尺度人体 des574 儿子的面前太过美丽的妈妈 操b激情文 美女双穴被奸 福鼎市人民政府 银子变黑 侯镜如 日本逼操图片 丽江美女偷情 偸拍野站视频 做爱大全视频观看 男人添女人乳头 色女16p 女性抠穴图片集 日本女老师的小穴图带毛的 屄最黑女明星 激情漫画套图 百度搜索成人影视小说 翟凌的无码图 mm六月天 台湾美女叫床 女子学校返回途中乱搞6p淫乱大派对02 妺妹林人体艺术 最好的我们神马影院 强奸迷奸轮奸 亚州图色干哥哥 黄片处女破处流血 淫大妈影院 立花20p 舔姐姐咪咪 岩佐あゆみ吉吉语音 长谷川凉子 欧美t0upaizipai 撸小人琪琪影院 幼少女口交 影音先锋幼幼黄色视频 涩涩网影音先锋观看 性感护士15p 得撸小说 小色哥脱衣舞 五月天成人操逼小说 人与动物法国zo0 有关做爱的网页 家庭伦理小说深爱五月wwwcbcb093com 成人美女视频免费wwwlu2310com 莎拉波娃五月天丁香五月 A片毛片免费观看天天干 噜噜色影院噜噜色电影色噜噜影视噜噜色网 索取玛雅最新网址 娇妻被淫记朱茵 色小说综合导航 欧美男女性抽插动图片 我爱咪咪影视网 暴力肛交小萝莉 我淫我浪 螺女挑情四级下载 91porr 大乳大臀美女的性爱15p www点爱人体点com 人兽杂交av电影免费下载下载 美女视频免费播放啪啪百度百度 poco能搜成人片 色妹妹sex 幼童pussy 女生未成年自慰网站 wwwzzjixxxxe 洗濯屋手机在线观看 人人干全免费视频xulawyercn 黄色片做爱后入式 中国伦理电影网站大全 操操曰偷拍上传 WWW唐人电影www69rrrrcom 777sejingwang 大色网不用播放器 视讯主播先锋 kanxxx 日本女人大屄图片 父子乱轮 姐脱你看淫淫 操久国产片 成人Hh漫画 日本人体艺术窝窝妹 韩日女优大奶视频 欧式性爱满足你的欲望【2937】 三级色图网 大尺度性交电影 鬼吹灯第二部有声小说 qq电台有声小说 电台播放有声小说 yuemu春色 vagaa樱井莉亚片子 小泽玛利亚1024800 小泽玛利亚口暴 求可以看的h网 www狗酷音乐com 开心尽情五月天 怎么在快播里看黄片 色狼巴士 性生活时间 征服淫荡少妇 撸时代 额尔撸 看片 magnet 色网站4438oxox 悠悠比资源 大香焦久草是易视 一本道手机高清AⅤ在线2017 香蕉视频app1024 mlgd488云盘 在线自拍大神约酒店 成人 免费 动漫 视频在线观看 超碰在线视频进入离开 杏花社福利成人 免费 动漫 视频在线观看 成人影院和狗 日本骚黄视频 在线白丝裤袜美女 欲望太平洋在线玩 手机看国产短片福利群 谭晓彤脱黑奶罩视频 操逼福利动态影院 百度97 成人自拍淫色 Caoporn任你操 第九影院男人社区A√电影 亚洲系列爱情动作影院 手机成人免费大全 sefuliwng 福立盒子 无毒福利网址大全 桃野铃 yJ丨zZ一Tⅴ 人兽杂交操b视频 桃奶木 淫妻妹 偷拍 自拍 一本道 青娱乐精品视频一级 夜店认识的高挑女白领一起吃饭喝多了,带到酒店趁不注意安放摄像头 澳门金沙大鸡吧操逼视频 人人操 人人妻 1自拍偷拍伦 神马福利小说图片大全 亚洲 偷拍成人视频 萝莉小逼 任你操这里只有精品6 午夜福利理论yy 4480 黑人与人妻中文系列 大佬色在线观看精品 26UUU亚洲一26 国产网红自拍福利视频 蓝沢润黑人在线播放 伊人网综合网站 偷偷摸视屏在线 黄色里番在线看1 弱气乙女 浴室套图 成人影院a在线看网址jajjaatat 开发三味 6无码magnet 飘花网sdde481 五月婷婷在线看 爱泽心梨在线 XRW-498播放 1024东方 SNIS850在线观看 汤姆影av 另类亚洲图片小说在线电影 超碰视频天堂 菲菲影院 东北娇妻土豪视频 大香巨乳家政爱爱在线 大学生兼职 偷拍下载 嗲囡囡在线福利视频tv 女主播朴惠恩福利 xiengjiaoshipin wwwsaobibi5353 打飞机推荐极品高颜值网红美女主播收费房大尺度福利高清无水印打飞机推荐极品高颜 人妻小悠福利在线 王薄团在线观看 色伦理片 穿着内衣做爱操逼的视频 2018仙女屋19禁电影大全 欧美老头av www4438X2com 伊人谷姐干岳电影网 偷拍自慰国产在线视频 94色人格影院第四色 avttt天堂2004 日本狼拍屋 香港皇室伦理电影 网红雅兴视频链接 84ab午夜剧场 桃大桥未久在线 一人一碰操视频 谷露做重 李丽莎福利 青青草成人成人电影 美女视频免费视频 jvid免费视频 正在播放 迪卡侬所有视频全集迅雷 图片区亚洲另类偷拍 欧美有码性爱 gqwuma 欧美中文合集磁力 木村都那迅雷磁力链接 黄色视频555 在线 里番 纯 av列表 岛国丝袜 色欲影视狠狠插 ac无码ac天堂 234hu四虎在线 动漫男人和女人操逼 小萝莉被内射视频 小日本做爱高潮视频 想要零用钱妹妹帮素股结果爽到自行插 性爱互插阴交视频 驯服吴静娴 崩坏之人璃沙 色在线视频综合影院 三邦车在线手机伦理片 熟女AV 视频 日本妞啪啪高清 公公夏夏天强奸未婚媳妇 www5595con 国产自拍白丝 西野翔在线播放叔母 近水楼台先得月 PORN 人妻 二人的春光 麻油拓也 柳岩磁力链接 草包网在钱精彩视频 黄色舔淫视频 超级诱惑 mp4 女主角医院看男友隔着帘子被搞在哪里可以免费在线观看 538国产视频视频无线 泰迪熊rct502在线播放 废柴导航青娱乐 海量无码av play sss 操逼126 4438成人网官网 色男人色天堂旧址 少妇自拍影片 韩日午夜404影院 ntr先锋资源资源 内地av 格影院第四色先锋 春丽成年AV动漫 车模聂子雨 成人3d动漫免费视频播放器 午夜福利第一村 2素人搭讪a片 哥也高色 西川结衣先锋在钱视频 紫禁城轶事哪里能看 成电人影在线电影。欧美图片 色WWW 午夜小视院 男女作爱后插鸡 色日本ww一澳门 xinh4610高清在线播放 黄片91福利 巨乳空姐在线播放 秽色福利小视频 苍老师视频福利 波多野结衣乳交的视频 国产自拍系列 揉捏胸玉兔视频 国产美女做爱视频种子 下载 一本道java高清 78y4 空姐不愿意拍视频被男友强干到高潮的视频 开苞视频迅雷下载 苍井空在线教师2015 haosedaohang 沧州天气4438x 亚洲无码视频下载 坐盗市最新流出电信营业厅女厕TP 亚洲伦理中文字幕总站 gouhemaoxingjiao 北原夏美无码 资源 噜噜色插 中国自拍视频, 上海罗城厕所种子 国产vdio 加朵ai视频资源下载 马配xX女人毛片 美女被黑人操音乐 马贼物语在线全文阅读 精品成人在线 黄页网站变态另类视频 古装爱爱伦理 4438x香蕉伊人 大鸡巴福利 35sao费永久视频 思思久久re免费视频在线观看 黑丝少妇迅雷磁力吧 女主女王sm视频免费专区 黄色性交裸频 华人成人视频 黄色录像真人试看 黄片蜜桃软件下载 黄图男视频 黄色网 下载 狠狠爱不卡天堂网 女王SM阉割 免费露逼网站 shen4club在线观看 dajiji33 美女作妇科检查被色狼医师偷插入肉棒内射 - 线上直播区 - 5278论坛- 我爱78论坛 - 国产av短视 首页—宅男 偷拍自拍福利院 www路bbb990路com sm乐园另类视频手机版 女主播自慰漏奶 国产自拍郑州局长与情人在宾馆 非洲大香蕉高清 在线 视频 激情 最新强奸乱伦中文字幕 关于欧美做爱视频图片 嫩穴鮑女 好xoo在线视频永久免费福利视频 AV国产福利资源 看得清的美国1级毛片 遥望南方的童年ED2K ROSI视频丝袜视频 2o17免费人妻视频 全国最大的网站4438 西瓜影音 男人天生爱风流 91 后背中出在线 李宗瑞1~16在线观完整 怡红院快播大香蕉 狼友成人福利在线 漂母色香 激情小说大奶少妇 美女无码不雅视频 四房播播色播电影bt 欧美口交足交 婷婷激情撸啊撸 女优与黑人的邪恶 屁眼集中营 有没有可以直接看的黄色网站 迷奸我的表妹 嫩苞流水图 我的嫂子是女女 巨乳苍井空人体艺术日本