$$P(x,y) \implies f(x+yf(x))=f(x)+xf(y)$$
Let $a\ne0$ be a real number:
$$P(a,0) \implies f(a)=f(a)+af(0) \iff f(0)=0$$
Let $b$ be a real number such that $f(b)=0$
$$P(b,x) \implies f(b+xf(b))=f(b)+bf(x) \implies0=bf(x)$$
$$b \ne 0 \implies f(x)=0 \ \ \ \forall \ x \in \mathbb{R}$$
$$b=0 \implies0 \ \text{is a unique zero of } f \tag{1}$$
$$P(1,y)\implies f(1+yf(1))=f(1)+f(y)$$
$$1+yf(1)=y \iff y= \frac{1}{1-f(1)}, f(1) \ne1$$
$$P\left(1,\frac{1}{1-f(1)}\right) \implies f(1)=0$$
This gives a contradiction with $(1)$ that leads to $f(1)=1$.
$$P(1,x) \implies f(x+1)=f(x)+1$$
$$P(x,y+1) \implies f(x+yf(x)+f(x))=f(x)+xf(y)+x=f(x+yf(x))+x \tag{2}$$
$$x+yf(x)=0 \iff y=\frac{-x}{f(x)}, x \ne 0$$
Substituting such $y$ in $(2)$ we get
$$f(f(x))=x, x \ne 0 \tag{3}$$
this and the fact that $f(0)=0$ makes the above equation true for all $x$.
Getting back to equation $(2)$, we know that $x+yf(x)$ can attain any real value $b$ by $y=\frac{b-x}{f(x)}$ for any $x \ne 0$, so we can replace $x + yf(x)$ with just $y$:
$$f(x + yf(x) + f(x))=f(x + yf(x))+x\iff f(y+f(x))=f(y)+x$$
replacing $x$ with $f(x)$, and using $(3)$ we get $f(x + y) = f(x) + f(y)$,
and so $P(f(x), y) \overset{(3)}{\implies} f(xy)=f(x)f(y)$, so $f$ is additive and multiplicative, which classically give $f(x)=x$ or $f(x)=0$.