Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
revmoo
May 25, 2006

#basta
Ok thats not too insane. You should be able to get someone to do that. I won't speculate on price, but fixing placement/dimensions simplifies a lot.

Adbot
ADBOT LOVES YOU

bEatmstrJ
Jun 30, 2004

Look upon my bathroom joists, ye females, and despair.

revmoo posted:

Ok thats not too insane. You should be able to get someone to do that. I won't speculate on price, but fixing placement/dimensions simplifies a lot.

Yeah, all the options should be static, nothing dynamic besides the text.

revmoo
May 25, 2006

#basta
Anyone know how to do a function call that is a combination of class properties, a method call, AND parameters that exists in a string? Neither eval() or call_user_func () appear to work.


e: nm. Literally just figured it out, you have to pull your result variable INSIDE the string, not from the eval() call. ( and yes I know eval() is dangerous, this is internal framework code.

revmoo fucked around with this message at 17:15 on Apr 20, 2017

McGlockenshire
Dec 16, 2005

GOLLOCKS!
:stare: You're going to have to explain that more, it sounds like you've designed a monster. Even on internal framework code, there has to be a better way to do whatever it is you're doing without having to eval().

revmoo
May 25, 2006

#basta

McGlockenshire posted:

:stare: You're going to have to explain that more, it sounds like you've designed a monster.
Sure. I built a dynamic form system where you go into a custom JSON editor and build out a form specifying the element type (I have about 15 including stuff like a inbuilt jsgrid implementation), layout (bootstrap) specifications, validation (100% 1000hz validator support), styles, labels, etc etc etc. It then creates a form and handles all the CRUD and validation automatically. It's the poo poo and will save me months of time as I have a shitton of complex B2B forms to write, though this application is for internal use only.

I'm adding a 'remote' data capability currently which is another of the 20 or so attributes a form element can contain. The first one I'm adding points to a PHP API wrapper to an industry-specific API written as a Laravel class. API method calls map (sorta) to postgres columns, combined with xpath selectors. So you'd call "$api->thing->otherthing->filter('//xpath/goes/here')->get();

I needed to be able to put in my JSON element definition a line like:

"remote_api": "thing->otherthing('//xpath/goes/here')" to, for example, populate a dropdown with remote API data.


McGlockenshire posted:

Even on internal framework code, there has to be a better way to do whatever it is you're doing without having to eval().

I'm all open to suggestions. Since this is an internal-use-only app, and only admins can edit form definitions, it doesn't feel like there's a whole lot of attack surface, but I would LOVE to find another way to do this. I'm all ears.

musclecoder
Oct 23, 2006

I'm all about meeting girls. I'm all about meeting guys.
I'm possibly completely misunderstanding this, but couldn't you just build an array and return it with json_encode() or whatever Laravel's JsonResponse object is?

php:
<?
return json_encode([
    'remote_api' => $api->thing->otherthing->filter('//xpath/goes/here')->get()
]);
?>

McGlockenshire
Dec 16, 2005

GOLLOCKS!
Another option might be storing each method to call or property to access more explicitly and then using method_exists() & property_exists() with PHP's ability to do dynamic property and method calls. So something like

code:
{
    "remote_api": [
        ["property", "thing"],
        ["property", "otherthing"],
        ["method", "filter", "//xpath/goes/here"],
        ["method", "get"]
    ]
}
PHP code:
<?php
$active_object = $api;
foreach($json_remote_api as $thing) {
    $thing_to_check = array_shift($thing);
    $thing_name = array_shift($thing);
    
    if($thing_to_check == 'property' && property_exists($active_object, $thing_name)) {
        $active_object = $active_object->$thing_name;
    } elseif($thing_to_check == 'property' && property_exists($active_object, $thing_name)) {
        if(count($thing))
            // Could probably do this with PHP7 syntax ("$active_object->$thing_name(...$thing)") instead of call_user_func_array
            $active_object = call_user_func_array([$active_object, $thing_name], $thing);
        else
            $active_object = call_user_func([$active_object, $thing_name]);
    } else {
        throw new \Exception("Expected property or method, got " . $thing_to_check);
    }
    if(!$active_object)
        throw new \Exception("This should be truthy and honestly it should also be an object...");
}
I haven't tested this and it has a bunch of pitfalls, but it doesn't expose you to the risks of eval. It might be more effort than it's worth, but it's really hard to go wrong with more data validation.

McGlockenshire fucked around with this message at 02:13 on Apr 21, 2017

revmoo
May 25, 2006

#basta

McGlockenshire posted:

Another option might be storing each method to call or property to access more explicitly and then using method_exists() & property_exists() with PHP's ability to do dynamic property and method calls. So something like

code:
{
    "remote_api": [
        ["property", "thing"],
        ["property", "otherthing"],
        ["method", "filter", "//xpath/goes/here"],
        ["method", "get"]
    ]
}
PHP code:
<?php
$active_object = $api;
foreach($json_remote_api as $thing) {
    $thing_to_check = array_shift($thing);
    $thing_name = array_shift($thing);
    
    if($thing_to_check == 'property' && property_exists($active_object, $thing_name)) {
        $active_object = $active_object->$thing_name;
    } elseif($thing_to_check == 'property' && property_exists($active_object, $thing_name)) {
        if(count($thing))
            // Could probably do this with PHP7 syntax ("$active_object->$thing_name(...$thing)") instead of call_user_func_array
            $active_object = call_user_func_array([$active_object, $thing_name], $thing);
        else
            $active_object = call_user_func([$active_object, $thing_name]);
    } else {
        throw new \Exception("Expected property or method, got " . $thing_to_check);
    }
    if(!$active_object)
        throw new \Exception("This should be truthy and honestly it should also be an object...");
}
I haven't tested this and it has a bunch of pitfalls, but it doesn't expose you to the risks of eval. It might be more effort than it's worth, but it's really hard to go wrong with more data validation.

I like this, thanks!

Aniki
Mar 21, 2001

Wouldn't fit...
Edit: SOLVED! I was able to resolve the issue. I ended up needing to edit my docker-compose.yml and add my API's host to the extra-hosts section of PHP-FPM and then rebuild my containers. You can see instructions on how to do it here. Definitely an adventure tracking that one down.

I am running into a strange issue. I have an application (ZF1) and an API (Laravel) running on a Docker on a Laradock container*. When I try to access the API from the application using cURL, I get a null response and the following cURL error:

code:
(7) Failed to connect to [API_HOST] port 80: Connection refused
If I try accessing the same API endpoint using another method like file_get_contents, I get the following warning:

code:
PHP Warning: file_get_contents([url]http://[/url][API_ENDPOINT]): failed to open stream. Connection refused in /var/www/projects/[APPLICATION_PATH]/[CONTROLLER_NAME].php on line 2637
Also, I was able to use both cURL and file_get_contents inside of the application to grab data from outside sites like https://www.google.com.

Interestingly, if I SSH into the Apache2 container, I can run cURL from the command line and get the expected result. I also get the expected result, if I go to the API endpoint in a web browser, so I know that the API is functioning correctly.

I also tried running wget from the Apache2 container to see if I could get any header info:

code:
root@cd3a4177dcfa:/var/www# wget --header="Host: [API_ENDPOINT]" -Os - [url]http://localhost[/url]
--2017-05-19 04:55:40--  [url]http://-/[/url]
Resolving - (-)... failed: Name or service not known.
wget: unable to resolve host address ‘-’

--2017-05-19 04:55:40--  [url]http://localhost/[/url]
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
It's a strange issue. The application and API are on the same container/network. I can access the API from the Apache2 container and outside of Docker. I am not sure if there is some sort of conflict with the authorization header or the JSON web token (JWT). I've made sure that php_curl and allow_url_fopen are on in my PHP.ini. I tried following the steps from this [url="http://stackoverflow.com/questions/17018586/apache-2-4-php-fpm-and-authorization-headers"]Stack Overflow thread[/code], but passing the header directly to PHP didn't correct the issue. Also, here is an example of how my Apache2 Virtual Host files are set up:

code:
Listen 80
<VirtualHost *:80>
  ServerName [API_HOST]
  DocumentRoot /var/www/projects/[API_PROJECT]/public
  CustomLog /var/log/apache2/[API_HOST]-access.log combined
  ErrorLog /var/log/apache2/[API_HOST-error.log
  Options Indexes FollowSymLinks

  <Directory "/var/www/projects/[API_PROJECT]/public">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
  </Directory>

  #SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</VirtualHost>

---------------
Listen 80
<VirtualHost *:80>
  ServerName [API_HOST]
  DocumentRoot /var/www/projects/[APPLICATION_PROJECT]
  CustomLog /var/log/apache2/[API_HOST]-access.log combined
  ErrorLog /var/log/apache2/[API_HOST-error.log
  Options Indexes FollowSymLinks

  <Directory "/var/www/projects/[APPLICATION_PROJECT]">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
  </Directory>

  SetEnv APPLICATION_ENV development
  SetEnv APPLICATION_LOGGING false
  #SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</VirtualHost>
Anything you guys can do to point me in the right direction would be appreciated. I was banging my head against the wall and nothing I tried seemed to get me any closer to a solution.

*Laradock: Complete setup is Laradock with Apache2 (2.4.18 on Ubuntu), MySQL, Redis, PHP-FPM (7.1), and Workspace containers. On a Windows 10 machine using Hyper V.

Aniki fucked around with this message at 07:50 on May 20, 2017

Gozinbulx
Feb 19, 2004
Weird question: Is it normal/appropriate to hire a developer to develop a feature you want for an already-existing open source project?

There is a pretty good Open Source DMS (Document Management System) named SeedDMS (formerly Leto DMS) that has alot of features I like but lacks ONE very simple (seemingly) but very critical feature. I've already posted/talked to the developer but he's basically one guy and I can't quite pester him to implement this. But this one feature I am envisioning would be a huge step towards successfully deploying this system or not, to the point where I am willing to pay someone to (hopefully) implement it in the code.

Which leads to 2 follow ups: how realistic is it to expect to hire someone to read SOMEONE ELSE's (open source) code and actually be able to decipher it well enough to make the changes I want? It seems like 70% of programmer humor is about how reading someone else's code is usually impossible, so it seems like it really might be a thing. The change I am proposing seems to me like it could be super simple (literally just a web formatting/css issue, i think)

secondly, if i DID successfully get someone to make the feature I want, is it considered untoward to propose a pull request based on a hired gun's code? Does that violate some GPL/Open source poo poo? Not that it really matters to me all that much if it works for me, but I do know there are people in the Git who want this feature so I'm wondering how the dev would feel.

nielsm
Jun 1, 2009



Gozinbulx posted:

secondly, if i DID successfully get someone to make the feature I want, is it considered untoward to propose a pull request based on a hired gun's code? Does that violate some GPL/Open source poo poo? Not that it really matters to me all that much if it works for me, but I do know there are people in the Git who want this feature so I'm wondering how the dev would feel.

You will want to make publication or not of the modifications part of your contract with the developer. As far as I can tell, SeedDMS is GPL 2 license. I am not a lawyer, however my interpretation is that any modified or extended version must also be covered by GPL or a compatible license on 100% of the code. That in turn means anyone who receives a copy of the modified program is entitled to do whatever they want with it (including redistributing it to anyone they wish) with full source code, as long as all authors are properly credited. On the other hand, it also means that as long as you do not give anyone else a copy of the modified program, nobody else is entitled to it either. (Although I think you also couldn't stop the hired developer from running with the modifications.)

The most courteous would be to hire a developer who will work with the open source project and have your required modifications become part of the public distribution. If it's something major you can perhaps negotiate having your business mentioned as a sponsor on the project website.

Superdawg
Jan 28, 2009

nielsm posted:

(Although I think you also couldn't stop the hired developer from running with the modifications.)

I think if you make the developer's modifications part of the contract (meaning it is your intellectual property), then that would 'legally' stop them from re-using them.

Gozinbulx
Feb 19, 2004
Yeah I would definitely discuss it with the dev before hiring him.

I feel like the change I'm proposing is minor enough that a. I can't really try to involve myself in the project and b. that it doesn't warrant any kind of corporate sponsorship type thing.

I think I'll ask the dev whether he's ok with me publishing his code and if he is, I'll mention it in the feature request thread in the Git and if the lead dev is cool, I'll put in a pull request.

spiritual bypass
Feb 19, 2008

Grimey Drawer
Why not approach the original author? They ought to know the codebase better than anyone else and would probably love to get a little bit of money from their project.

Gozinbulx
Feb 19, 2004

rt4 posted:

Why not approach the original author? They ought to know the codebase better than anyone else and would probably love to get a little bit of money from their project.

I definite thought this but... how would I even go about that? I feel like im stepping into a minefield of open source principles.

spiritual bypass
Feb 19, 2008

Grimey Drawer
There's definitely projects out there that do this. The worst possible outcome is to be declined. The best is that you get some decent work done that also contributes to the project.

Speaking as someone who has published a few modest open source projects, I'd be thrilled to receive such a proposal.

Gozinbulx
Feb 19, 2004
I guess the other issue is I have no idea what a fair/reasonable compensation would be. In what form and what amount.

kiwid
Sep 30, 2013

Anyone know a good free/opensource Microsoft Access ODBC driver for Mac OS X and Linux?

This one costs $1000 http://www.easysoft.com/products/data_access/odbc-access-driver/index.html#section=tab-1

Agrikk
Oct 17, 2003

Take care with that! We have not fully ascertained its function, and the ticking is accelerating.
Can someone point me to a good resource for learning how to batch insert items into a MySQL database using PHP?


I have a tab-delimited file of 1.1 million rows that I want to insert into a MySQL database (it's actually AWS Aurora) every hour. Most of the examples I find online are of people using arrays to receive the data from the flat file and then using loops to push the data into the database. But iterating over a million-member array one at a time seems dumb and inefficient.

nielsm
Jun 1, 2009



Agrikk posted:

Can someone point me to a good resource for learning how to batch insert items into a MySQL database using PHP?


I have a tab-delimited file of 1.1 million rows that I want to insert into a MySQL database (it's actually AWS Aurora) every hour. Most of the examples I find online are of people using arrays to receive the data from the flat file and then using loops to push the data into the database. But iterating over a million-member array one at a time seems dumb and inefficient.

Prepared statements and working inside a transaction should be the basic approach. Prepare your insert statement once, then execute it multiple times with different data. Work inside a transaction to allow the database to not flush to disk constantly. (But for some resumability it may be a good idea to commit the transaction every so often, say every 100 or 500 rows.)

MySQL also supports inserting multiple rows in a single insert statement, using the syntax INSERT INTO table (field1, field2, ...) VALUES (a1, a2, ...), (b1, b2, ...), (c1, c2, ...), ...;
It may have better performance to batch multiple input rows that way, e.g. have your prepared statement process 10 rows at a time.

spiritual bypass
Feb 19, 2008

Grimey Drawer
I've gotten good results by doing single-row prepared statement inserts bundled inside a transaction. Instead of using an array, iterate over a generator. Open your file up and yield rows line-by-line.

http://php.net/manual/en/language.generators.syntax.php

open file and start reading lines -> start transaction -> iterate inserts -> commit transaction

denzelcurrypower
Jan 28, 2011
Might be easier to just do it in a stored procedure on the db, no?

teen phone cutie
Jun 18, 2012

last year i rewrote something awful from scratch because i hate myself
What are some good resources for learning how to connect to rest APIs with OAuth?

The specific one i want to work with has some instructions to connect with curl but I'd like to lean how to work with APIs in either PHP or node js

This is coming from someone who has a pretty small amount of experience with the backend.

MrMoo
Sep 14, 2000

One would hope Swagger + OAuth2 is mature enough to have docs and examples for both of those.

substitute
Aug 30, 2003

you for my mum

Agrikk posted:

Can someone point me to a good resource for learning how to batch insert items into a MySQL database using PHP?


I have a tab-delimited file of 1.1 million rows that I want to insert into a MySQL database (it's actually AWS Aurora) every hour. Most of the examples I find online are of people using arrays to receive the data from the flat file and then using loops to push the data into the database. But iterating over a million-member array one at a time seems dumb and inefficient.

Research using LOAD DATA LOCAL FILE.

musclecoder
Oct 23, 2006

I'm all about meeting girls. I'm all about meeting guys.

Grump posted:

What are some good resources for learning how to connect to rest APIs with OAuth?

The specific one i want to work with has some instructions to connect with curl but I'd like to lean how to work with APIs in either PHP or node js

This is coming from someone who has a pretty small amount of experience with the backend.

The PHP League packages OAuth1 and OAuth2 are a really good wrapper for this - https://github.com/thephpleague/oauth1-client and https://github.com/thephpleague/oauth2-client

Tei
Feb 19, 2011
Probation
Can't post for 6 days!
I don't know if this is the right thread.

Some code that made me scratch my head

$opt = array("type"=>"resources");
$opt["id"] = $id_product;
$opt["xml"] = $xml->asXML();

echo serialize($opt);//returns a empty strings
echo json_encode($opt);//returns a empty strings
echo var_export($opt,true);//returns a empty strings

the problem was a broken string, that was a invalid UTF8 sequence.

just by having this broken string as one value inside anywhere in the array was enough for PHP to go..


..every way possible to ask him to serialize the array.

jiggerypokery
Feb 1, 2012

...But I could hardly wait six months with a red hot jape like that under me belt.

Well, yeah serialising you are just turning the content to a string, like a series of concat methods on each of the contents. If you have a broken utf8 sequence in part of it, you now have one in all of it. Something very low level is gracefully handling it, that each of those serialise methods will be calling.

kiwid
Sep 30, 2013

I've been tasked to create an app that consolidates about 15 Microsoft Access databases (each of our robots logging data to each database in a standard format) into one database so that we can easily report off the data. Simple enough. However, my problem is that I don't know where to start on actually connecting to a Microsoft Access database. There are a bunch of ODBC drivers out there it seems but the problem is that I develop on OS X and deploy to a Debian or Ubuntu server so I need to purchase an ODBC driver for both platforms. Alternatively I could probably do something with Windows which has a free ODBC driver for Access. Otherwise, I was thinking I could have the Access databases dump to a CSV or something on a scheduled task?

Has anyone here ever had to do something like this and if so what is my best way going about it?

If this is too retarded for PHP, should I look into creating a python script that does this instead?

kiwid fucked around with this message at 17:20 on Jun 29, 2017

Tad Naff
Jul 8, 2004

I told you you'd be sorry buying an emoticon, but no, you were hung over. Well look at you now. It's not catching on at all!
:backtowork:
When I had to work with Access databases and PHP I ended up converting them to MySQL using "mdbtools" I think it was called. I also had to edit the source of mdbtools to make its output actually MySQL compatible. As far as I know there's not much out there at least free that lets you connect to Access from PHP on Linux, but this was about eight or nine years ago, maybe things have improved since then.

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION

Tei posted:

I don't know if this is the right thread.

Some code that made me scratch my head

$opt = array("type"=>"resources");
$opt["id"] = $id_product;
$opt["xml"] = $xml->asXML();

echo serialize($opt);//returns a empty strings
echo json_encode($opt);//returns a empty strings
echo var_export($opt,true);//returns a empty strings

the problem was a broken string, that was a invalid UTF8 sequence.

just by having this broken string as one value inside anywhere in the array was enough for PHP to go..


..every way possible to ask him to serialize the array.

Makes sense to me to be honest.

kiwid
Sep 30, 2013

Tad Naff posted:

When I had to work with Access databases and PHP I ended up converting them to MySQL using "mdbtools" I think it was called. I also had to edit the source of mdbtools to make its output actually MySQL compatible. As far as I know there's not much out there at least free that lets you connect to Access from PHP on Linux, but this was about eight or nine years ago, maybe things have improved since then.

I checked out mdbtools and it seems like a lot of work. I'm not Work isn't opposed to paying for something if it works. I found this after a bunch of Googling. I'm just going to set this up on a Windows desktop and dump to a MySQL database. I'm trailing it and it will dump multiple access databases to a single mysql database and then I'll just union the tables in PHP. I guess this is as good as it gets.

stoops
Jun 11, 2001
I have data on a text file that looks like this....

06/14 750.00 Check Number 1127 813009592442970
06/14 100.00 Check Number 1129* 813000292622807
06/04 370.00 Check Number 1130 813005882772872
06/14 100.00 Check Number 1131 813001882618259
06/18 2,725.00 Check Number 1134* 813008892829991
06/28 400.00 Check Number 1135 813000492265151

Id like to import that data to a database with php and separate into 3 columns: DATE | AMOUNT | DESCRIPTION.

For each line, If i do an explode by spaces, i can easily get the date (entry(0)) and amount(entry(1)), but the description would be any number (entry(2)(3) and so on).

Is there a way to truncate the rest of the remaining entry(s) as one?

Any help is appreciated. If I should go about it another way, let me know. Someone suggested I could probably formate it in Notepad++, but I wasnt sure how to go about it since the file has alot of entries.

Infected Mushroom
Nov 4, 2009
Explode has a $limit parameter:

quote:

If limit is set and positive, the returned array will contain a maximum of limit elements with the last element containing the rest of string.

So if you apply a limit to your explode and use list (or destructuring) then you get:

php:
<?
[$date, $amount, $description] = explode(' ', '06/14 750.00 Check Number 1127 813009592442970', 3);

echo $date;
// "06/14"

echo $amount;
// "750.00"

echo $description;
// "Check Number 1127 813009592442970"
?>

stoops
Jun 11, 2001



Thanks, I had never seen the limit parameter or used List. That helped.

Now I have another problem, if you or anyone could pinpoint in the right direction.

I have a text file of entries, a lot which are in the correct format, line by line of date, description, amount, all on one line.

But some lines are broken up in 3 seperate lines, so it would be

date description amount (good ones)
date description amount
date description amount
date description amount

date (bad ones)
description
amount

date (bad ones)
description
amount

date description amount (good ones)
date description amount (good ones)

I'm not too sure how to code inside the loop of lines. I thought about checking each string to see if it starts with a date, which I can do, but I wasn't sure how to put the subsequent lines back to the line with the starting date. (Same with seeing if the string starts with a DASH)

-JS-
Jun 1, 2004

There are a few ways you could deal with this, but quick and dirty I'd probably:

  • Use a for loop so you have an iterator (say, $i) you can play with.
  • Explode the line as before but into an array rather than a list.
  • Check the size of the array.
  • If it's 3, we're all good, proceed as normal.
  • If it's 1 - then we know that the next two lines are the description and amount, so grab these with $line[$i]+1, $line[$i]+2 - then set $i = $i + 2 to jump to the next record when the loop next loops.

That sort of idea anyway.

duz
Jul 11, 2005

Come on Ilhan, lets go bag us a shitpost


If you want to have two problems, you can use a regex with the multiline flag.

Edit: Something like this
php:
<?
preg_match_all("/([0-9]{2}\/[0-9]{2})\s(\S+)\s(.*[0-9]{3})/m", $input_lines, $output_array);
?>
Test case

duz fucked around with this message at 17:20 on Jul 8, 2017

Murrah
Mar 22, 2015

Ive been working for three months now in my first stable, solid developer job and its basically great.

The only downside is in this particular app we are locked into a legacy PHP framework, Symfony 1.x to be exact paired w/ PHP 5.6

When I started I didnt know any PHP and I guess I know a bit now. But Im starting to feel a little anxious like I should be starting to branch out/ become a little more familiar with something more up to date.

I know there is like, this incredibly massive repository of information called the internet we are using, but Im also very persuadable and influenceable by a really existing human , so if someone has any suggestions on something fun/ can relate to moving up from working a legacy framework like this I am all ears to be impressed upon

Tad Naff
Jul 8, 2004

I told you you'd be sorry buying an emoticon, but no, you were hung over. Well look at you now. It's not catching on at all!
:backtowork:
Well drat we were just hiring, and we're in the process of updating about 50 or so PHP apps to 7 from 5.2 - 5.6. Granted very few of them are made with any sort of framework, and those that are tend to be written with an in-house framework called "Framework"...

Question: when did kids stop learning PHP? It used to be that was the one web language we could count on applicants to at least have run across, which is why we standardized on it.

Adbot
ADBOT LOVES YOU

Murrah
Mar 22, 2015

Tad Naff posted:

Well drat we were just hiring, and we're in the process of updating about 50 or so PHP apps to 7 from 5.2 - 5.6. Granted very few of them are made with any sort of framework, and those that are tend to be written with an in-house framework called "Framework"...

Question: when did kids stop learning PHP? It used to be that was the one web language we could count on applicants to at least have run across, which is why we standardized on it.

When I went through a bootcamp (be gentle :E) basically the message was that JavaScript is eating the world and the insinuation was that PHP and a boatload of other stuff was 'not cool' or not modern- it wasn't taught at any rate. Someone linked me the "PHP is a fractal of bad design" blog at some point along the way also I remember as part of the same kind of culture- PHP definitely still has its problems but that blog is also pretty old now/ its been a few versions and advances with things like composer since.

It was when I was like 5 months post course, doing some contract work and stuff in the hard rocks of job hunting life that made me question I guess a lot of my newb/'trendseeking' thoughts in general. I found out for example that major applications like Slack were made with PHP and read some posts about that, met/learned of some active PHP speakers/developers on twitter basically and later learned about the huge amount of PHP questions being asked/answered on Stack Overflow as a gauge of its continued prevalence.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply